静态文件没有使用Express提供给Node.js中的子目录

时间:2014-06-08 05:19:29

标签: javascript node.js

我正在尝试将静态文件提供给以下网址,出于某种原因,当我访问此路径时:" http://www.domain.com/tut-view/1" - 它给了我以下错误:

*GET http://www.domain.com/tut-view/javascripts/jquery.js 404 (Not Found)*

正在寻找从该文件夹本身开始的静态文件。我不知道为什么。

这是应用配置代码。

// configure Express
app.configure(function() {
  // More app configurations above ^
  app.use(express.static(path.join(__dirname, 'public')));
  app.use(app.router);
});

这很有效 - 它可以提供所有静态CSS和JavaScript文件:

app.get('/tut-view', function (req, res) {
  res.render('tut-view', {});
});

这不起作用 - 它给我上面的错误:

app.get('/tut-view/:id', function (req, res) {
  res.render('tut-view', {});
});

我猜这是因为路径指向另一个文件夹的内部。有人能指出我正确的方向吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用静态资产的相对路径,如下所示:../javascripts/jquery.js,因此从/tut-view解析为/javascripts/jquery.js,从/tut-view/1解析为{{1}这是一条错误的道路。您应该使用绝对路径:/tut-view/javascripts/jquery.js