3
一個非常簡單的問題,但困擾我很多。NodeJS url請求,絕對還是相對?
以下兩種情況有什麼區別?
index.html
- script src="script/a.js"
- script src="/script/a.js" // starting with slash
,爲什麼我的服務器可以服務於這個請求(有斜槓開始)
app.get('/script/a.js', function(req, res){ // with slash
res.sendfile(__dirname + '/realfolder/script/a.js');
});
無論在客戶端的URL SRC是我剛纔提到的這兩個案件的任何情況下?
在另一方面,我總是得到404錯誤,如果我發球以下列方式請求(啓動時沒有斜槓)
app.get('script/a.js', function(req, res){ // without slash
res.sendfile(__dirname + '/realfolder/script/a.js');
});
在我看來,路徑從「/」指的根文件夾開始的應用程序,另一種是從__dirname的相對路徑。我不明白爲什麼我的服務器不能處理app.get('script/a.js')這個請求在開始時沒有斜線?
有什麼問題嗎?
謝謝,我想我知道這個概念。但我仍然無法理解爲什麼我的服務器無法處理app.get('script/a.js')這個請求在開始時沒有出現任何問題? – Kevin 2013-02-20 08:37:25
好吧,當相對路徑不起作用時,第一個問題是:我在哪裏?我在'main'文件夾中嗎?在'subfolder1'裏面?在你的情況下,你的Node應用程序在哪裏運行?請參閱:http://nodejs.org/docs/v0.4.2/api/process.html#process.cwd或使用絕對路徑。 – TheBronx 2013-02-20 08:43:39
只是確保一件事,你的意思是當出現失敗的相對路徑時,服務器端將嘗試從app根目錄(process.cwd(),如你所說)找到這個文件? – Kevin 2013-02-20 09:21:39