Ошибка типа MIME с файлами express.static и CSS - PullRequest
0 голосов
/ 04 мая 2018

Я использую экспресс и узел. В моем файле server.js у меня есть этот кусок кода:

app.use(express.static('/static'));

И впоследствии в моем статическом каталоге у меня есть папка CSS, а затем файл style.css. В моем index.html я ссылаюсь на лист так:

  <link rel="stylesheet" type="text/css" href="/static/css/style.css">

Однако на моем локальном хосте я продолжаю получать эту ошибку:

Refused to apply style from 'http://localhost:3500/static/css/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

Я уверен, что мое имя пути в моем теге правильное, и я не понимаю, почему я получаю эту ошибку. Нужно ли объявлять, что CSS-файлы будут обрабатываться как CSS, а не как HTML? Я не делаю этого, когда я говорю type = "text / CSS"? Если нет, что мне нужно поместить в файл моего сервера, чтобы устранить эту проблему?

1 Ответ

0 голосов
/ 04 мая 2018
app.use(express.static('/static'));

означает, что статические файлы обслуживаются буквально с /static. В операционной системе на основе Unix это прямой дочерний элемент к корню каталога /. Я не думаю, что вы делаете, но вы не должны хранить файлы, не говоря уже о публично доступных файлах в этом каталоге. Вместо этого вы, вероятно, ищете каталог static в каталоге вашего приложения.

Вот как вы можете указать Express использовать это для файлов сервера:

app.use(express.static(__dirname + "/static"));

Ошибка типа MIME возникает из-за того, что обслуживаемый файл, скорее всего, является страницей "404 Not Found", созданной Express, поскольку он не может найти файл.

Если вы не можете включить файл в свой HTML-код всегда дважды, а лучше даже в тройную проверку, доступ к файлу сначала можно получить через браузер.

Кроме того, файлы находятся в / ..., а не в /static/...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...