2012-09-20 83 views
0

我使用node.js + express來提供靜態文件(CSS + JS)。用戶:此時爲NodeJS + Express:爲不同的URL提供靜態文件

app.use(express.static(__dirname + '/static')); 

在主templeate layout.jade我加載靜態文件

link(href='css/bootstrap.css', rel='stylesheet') 

一切正常,與像/你好,/寫/頁靜態目錄配置。但是當我得到像/ bob/505b6833d3835d3705000001 /編輯的頁面時,找不到靜態文件。 Firebug顯示節點爲靜態生成相同的路徑,但樣式不適用於頁面。爲什麼?提前致謝!

+1

該鏈接應該是/css/bootstrap.css嗎? (通知前斜線) –

+0

它的工作,謝謝。請回復完整答案 - 我會將您的答覆標記爲最佳,並且您可以獲得一些聲望點) – f1nn

回答

2

您應該使用預斜槓鏈接。

link(href='/css/bootstrap.css', rel='stylesheet') 

這應該照顧它。

+0

但是,我發現我的問題沒有解決。我注意到這行:app.get('/:user /:postid',ensureAuthenticated,function(req,res){...}與靜態文件路徑衝突。我必須嘗試將它與主代碼分開... – f1nn

+0

你想讓路線先運行嗎? –

+0

那麼,你是什麼意思'第一'?我認爲路線開始於請求時,靜態css渲染頁面是節點的最後一步 – f1nn