2016-05-16 50 views
0

我的應用程序從URL加載,如:server.com/pdf/12345。當它正在查找靜態文件時,它會嘗試GET /pdf/12345/assets/css/stylesheet.css和404s。我無法弄清楚如何告訴它在根中尋找/public/assets。嘗試了許多不同的express.static配置。表達式靜態不會加載根文件中的CSS文件

我的目錄結構是這樣的:

public 
--assets 
----css 
views 
--partials 
----header.ejs 
routes 
--api.js 
server.js 

server.js看起來是這樣的(減去需要的清晰度):

app.use('/', routes); 
app.set('views', './views'); 
app.set('view engine', 'ejs'); 

app.use('/public', express.static(path.join(__dirname, 'public'))); 
http.createServer(app).listen(port, function() { 
}) 

我的諧音/ header.ejs包含鏈接樣式表

回答

0

你應該這樣寫:

app.use(express.static(path.join(__dirname, 'public'))); 

如果從app.use('/public'開始,則表明您只是在路徑/public上安裝該函數,在您的情況下,我猜如果網址以server.com/public開頭。但由於情況並非如此,express.static()從來沒有發生。

+0

感謝您的迴應,但不幸的是,在嘗試檢索資產時,它仍然追加/ pdf/1234 /路徑:GET /pdf/1234/assets/css/style.css 404' –

+0

好的。而在你的ejs文件中,你將href寫爲「/assets/css/stylesheet.css」?如果是這樣,那麼我不知道你做錯了什麼。 – tomtom

+0

哦,謝謝!我錯過了EJS文件中href的前導斜槓。 –