Как включить css-файлы с помощью node, express и ejs?

Я пытаюсь следовать инструкциям https://stackoverflow.com/a/18633827/2063561, но я все еще не могу получить свои стили.CSS для загрузки.

из приложения.js

app.use(express.static(path.join(__dirname, 'public')));

В моем .ejs, я пробовал обе эти строки

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

ни загружает css. Я пошел в консоль разработчика заметил, что тип установлен в "text / html "вместо" text / css".

мой путь выглядит так:

.
./app.js
./public
    /css
        /style.css

3 ответов


используйте это на своем сервере.файл JS

app.use(express.static(__dirname + '/public'));

и добавить CSS как

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

не нужно / перед css, как

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

используйте это на своем сервере.файл JS

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

без каталога (__dirname), а затем в папке проекта создайте новый файл и назовите его общедоступным, а затем поместите в него все свои статические файлы


Я использовал следующие шаги для решения этой проблемы

  1. создайте новую папку (статическую) и переместите все файлы JS и css в эту папку.
  2. затем добавить app.использовать ('/static', express.static ('static'))
  3. добавить css как
  4. перезагрузите сервер, чтобы просмотреть влияние после изменений.