nodejs中的路径

时间:2015-04-27 11:34:37

标签: javascript node.js i18n-node

我在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中的语言,你能帮忙吗?

谢谢

1 个答案:

答案 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而不是相对路径的路径(例如./...),因为我可能会在重构中移动页面,并且查找直接引用比相对更容易如果我必须改变任何东西。