node.js express не может понять путь к css файлам - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь загрузить некоторую информацию на странице html, используя node.js с помощью express.

Проблема в том, что когда я хочу открыть главную страницу (это отображает все книги из базы данных), все работает нормально - файлы css и js найдены и применены к странице. Но когда я загружаю другую страницу (она отображает одну книгу), загружается только одна страница (я имею в виду без css). Кроме того, эти 2 страницы находятся в одной папке.

Я включил папку с такими стилями (в файле server. js):

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

и этот фрагмент кода отлично работает:

app.get("/", function(req, res){
    pool.query("SELECT * FROM books", function(err, rows) {
      if(err) return console.log(err);
      res.render("../front/index.hbs", {
        books: rows
      });
    });
});

, но когда я пытаюсь загрузить этот фрагмент - css не применяется:

app.get("/single-product/:id/", function(req, res){
  const id = req.params.id;
  pool.query("SELECT * FROM books WHERE idBook=?", [id], function(err, rows) {
     if(err) return console.log(err);
     res.render("../front/single-product.hbs", {
        books: rows[0]
    });
  });
});  

css включение в обоих файлах следующее:

    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/plugins.css">
    <link rel="stylesheet" href="css/style.css">

    <!-- Cusom css -->
    <link rel="stylesheet" href="css/custom.css">

когда я открываю devtools, в первом случае отображается 200 кодов ответа, во втором - 404. Что может быть не так?

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Вам необходимо предоставить эти css файлы в ваших html -рутах, если они у вас есть отдельно от api-маршрутов, или просто добавить их на ваш обычный сервер, если они у вас есть вместе.

0 голосов
/ 30 апреля 2020

Редакция: добавить 'server' в app.use (express .stati c (path.join (__dirname, 'server', '/ style')));

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