Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 动态页面不支持express(NodeJs)中的静态文件_Node.js_Express - Fatal编程技术网

Node.js 动态页面不支持express(NodeJs)中的静态文件

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

您好,我正在处理节点应用程序。我使用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('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引用的开头将告诉浏览器忽略页面的路径