2017-10-15 122 views
0

你好我正在研究节点application.I设置静态文件使用express.It正常路由下工作正常。所有css和js文件正常工作。当我设置动态路线如动态页面不支持express中的静态文件(NodeJs)

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文件,我在公共folder.When定义我尝试打开CSS文件的URL是http://localhost:3000/product/css/jumbotron.css 而不是它的网址应该是

http://localhost:3000/css/jumbotron.css 

我在哪里做错了?

回答

1

您的网页中的CSS资源URL显然是相对URL。将前导/添加到这些URL的前面,以便它们不使用网页中的路径。

更改此

"css/jumbotron.ss" 

这样:

"/css/jumbotron.ss" 

在HTML页面中。

没有领先的/,你的URL是“页面相对的”,这意味着浏览器将在从服务器请求之前添加页面URL到你的CSS URL的路径。你不想那样。将/添加到CSS引用的开头会告诉浏览器忽略页面的路径。

+0

谢谢......它的工作原理:-) – Andrew