Почему мой экспресс-код не отображает файлы CSS и Javascipt? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь написать основной код экспресс-сервера. Однако файл HTML, который обслуживается по определенному маршруту, не отображает статические файлы (файлы css, js и изображения). Может кто-нибудь сказать мне, что не так с моим кодом? Следующий код включает функцию маршрутизатора. К вашему сведению, код работает в Ubuntu.

Я уже использовал функцию express.static(). Тем не менее, он все еще не работает.

var express = require('express');
var router = express.Router();
var app = express();
app.use(express.static(__dirname+'/stat'));
router.get('/',(req,res)=>{
    res.send("Welcome to the home page");
});

router.get('/show',(req,res)=>{
    res.sendFile(__dirname+'/index.html');
})

router.get('*',(req,res)=>{
    res.send("Error 404");
});

module.exports = router;

1 Ответ

1 голос
/ 14 мая 2019

Один из способов сделать это - переместить файлы JavaScript и CSS, которые вы хотите использовать, в общую папку в корневом каталоге, а затем получить к ним доступ следующим образом:

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

Однако обычно безопаснее использовать модуль пути Node.js для доступа к относительному пути к папке, из которой вы хотите отправить эти статические файлы. Это должно сделать:

const path = require('path')
app.use(express.static(path.join(__dirname, 'stat')));

Я думаю, что документы предложат еще какую-то помощь.

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