2014-06-08 19 views
0

我想将静态文件提供给以下URL,并且出于某种原因,当我访问此路径时:“http://www.domain.com/tut-view/1” - 它给了我以下错误:静态文件没有被提供给Node.js中的子目录使用Express

*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', {}); 
}); 

我猜这是因为路径指向另一个文件夹的内部。任何人都可以指向正确的方向吗?谢谢。

回答

0

您使用相对路径的静态资产,是这样的:../javascripts/jquery.js,所以从/tut-view它解析为/javascripts/jquery.js/tut-view/1它解析为/tut-view/javascripts/jquery.js,这是一种错误的道路。你应该使用绝对路径:/javascripts/jquery.js

相关问题