Node.js 动态页面不支持express(NodeJs)中的静态文件
您好,我正在处理节点应用程序。我使用express设置静态文件。它在正常路由下工作正常。所有css和js文件工作正常。当我设置动态路由时,例如Node.js 动态页面不支持express(NodeJs)中的静态文件,node.js,express,Node.js,Express,您好,我正在处理节点应用程序。我使用express设置静态文件。它在正常路由下工作正常。所有css和js文件工作正常。当我设置动态路由时,例如 router.get('/product/:id',function(req,res,next){ Product .findById({_id:req.params.id},function(err,product){ if (err) return next(err); res.render('ma
router.get('/product/:id',function(req,res,next){
Product
.findById({_id:req.params.id},function(err,product){
if (err) return next(err);
res.render('main/product',{
product:product
});
});
});
虽然产品页面工作正常,但显示结果准确,但它无法捕获我在公用文件夹中定义的任何css或js文件。当我尝试打开css文件时,其url为http://localhost:3000/product/css/jumbotron.css
相反,它的url应该是
http://localhost:3000/css/jumbotron.css
我哪里做错了???网页中CSS资源的URL显然是相对URL。在这些URL的前面添加一个前导的
/
,这样它们就不会使用网页中的路径
改变这个
"css/jumbotron.ss"
为此:
"/css/jumbotron.ss"
在HTML页面中
如果没有前导的/
,您的URL是“页面相对的”,这意味着浏览器将在从服务器请求之前将页面URL的路径添加到CSS URL。你不会想要的。将/
添加到CSS引用的开头将告诉浏览器忽略页面的路径