我在nodeJs中遇到路径问题,我在用户指定网址中的语言时将用户路由到索引页面:
app.all('/:locale?/index',function(req,res,next){
if(!req.params.locale){
console.log('no param');
res.render('index');
} else {
var language = req.params.locale;
i18n.setLocale(language);
res.render('index');
}
});
然而,在我的index.html页面中,图像的来源是这样指定的:./ images / img1.png,当我路由用户时,我的index.html显示找不到图像,因为它认为路径为“lang / images / img1.png,它考虑了我的URL中的语言,你能帮忙吗?
谢谢
答案 0 :(得分:2)
路径中的.
告诉应用查看当前文件夹lang
。您应该能够通过指定URL来解决这个问题:
<img src="http://myApp.com/images/img1.png">
或指定根目录的路径(除http://myApp.com
之外的所有内容)
<img src="/images/img1.png">
这可能是一个更好的解决方案,因为您可以轻松地交换您的域名;例如,在本地计算机上工作(http://localhost:3000/
)与部署的应用程序(http://myApp.com
)
一般来说,我几乎总是使用从root而不是相对路径的路径(例如./...
),因为我可能会在重构中移动页面,并且查找直接引用比相对更容易如果我必须改变任何东西。