При использовании sendfile в экспрессе как части маршрута к статическому html-файлу связанные файлы .js и .css загружаются, но не применяются.

0

У меня есть простой локальный сервер, работающий по умолчанию.

У меня есть файл app.js и index.js для маршрутизации.

в app.js - это все стандартные выражения, содержащие строки, включая строку для статических файлов:

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

в файле index.js у меня есть маршрут:

 router.get('/', function(req, res) {
        res.sendfile('public/staticHTMLfile.html');
    });

в общей папке у меня есть файлы.js и.css, причем их пути правильно указаны в статическом html файле.

Когда я обращаюсь к localhost: 3000/в браузере, html загружается правильно, и из командной строки npm видно, что к ним подключены связанные файлы js и css:

GET /public/jsFile.js 404 424ms - 1.34kb
GET /public/cssFile.css 404 27ms - 1.34kb

Любая идея, почему они не применяются к html? Я дважды проверил скрипт и теги ссылок для правильного пути.

Дайте мне знать, если вам нужна дополнительная информация.

Спасибо за ваше время.

Теги:
express

1 ответ

0

404 который вы видите в строке GET/public/jsFile.js означает, что файл не найден. Они не загружаются, их просят, но очень вероятно, что они ошибаются.

Учитывая, что путь говорит public/jsFile.js я считаю, что это связано с тем, что вы включили "public" в путь. Удали это. Путь к файлам JS и CSS в вашем HTML должен быть "/jsFile.js" и "/cssFile.css",

В качестве теста укажите ваш браузер в /public/jsFile.js и вы должны получить сообщение об ошибке, но указав, что ваш браузер на /jsFile.js должен работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню