繁体   English   中英

node.js 快递无法理解 css 文件的路径

[英]node.js express can't understand path to css files

我正在尝试在快递的帮助下使用 node.js 在 html 页面上加载一些信息。

问题是当我想打开主页时(它显示数据库中的所有书籍),一切正常 - 找到 css 和 js 文件并将其应用于页面。 但是当我加载另一个页面(它显示单本书)时,加载了唯一的页面(没有任何 css,我的意思是)。 此外,这 2 个页面位于同一个文件夹中。

我已经像这样(在 server.js 文件中)包含了 styles 的文件夹:

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。有什么问题?

如果您将这些 css 文件与 api-routes 分开,则需要在 html-routes 中提供这些文件,或者如果将它们放在一起,则只需将它们添加到常规服务器。

修改:将 'server' 添加到 app.use(express.static(path.join(__dirname, 'server', '/style')));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM