3

我在 nodeJs 中遇到路径问题,当他在 url 中指定语言时,我将用户路由到索引页面,如下所示:

   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 ,它考虑了我网址中的语言,你能帮忙吗?

谢谢

4

1 回答 1

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)

一般来说,我几乎总是使用来自根目录的路径而不是相对路径(例如,./...),因为我可能会在重构中移动页面,而且如果我必须更改任何内容,查找直接引用比查找相对引用更容易。

于 2015-04-27T12:09:30.957 回答