我正试图在express的帮助下使用node.js在html页面上加载一些信息。
问题是,当我想打开主页(它显示数据库中的所有书籍(时,一切都很好——css和js文件被找到并应用到页面上。但当我加载另一个页面(它显示一本书(时,唯一的页面被加载(我的意思是没有任何css(。此外,这两页在同一个文件夹中。
我已经包含了这样样式的文件夹(在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。可能出了什么问题?
如果将这些css文件与api路由分开,则需要在html路由中提供这些css文件,或者如果将它们放在一起,则只需将它们添加到常规服务器中。
修改:将"server"添加到app.use(express.static(path.join(__dirname,'server','/style'((;