2014-06-08 47 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

相關問題