2014-09-30 53 views
0

我想在一個nodejs express應用程序(最新版本的快遞)中包裝我的html。我嘗試使用res.sendFile發送我的「index.html」文件。我遇到了在瀏覽器中加載頁面時出現大量404錯誤的問題,因爲它找不到我的任何js或css文件。我的js文件位於bower_components目錄中,有些位於「js」目錄中。我的css文件位於「css」目錄中。如何正確包含index.html中的express/nodejs的外部css和js文件?

一個路徑是:

/bower_components/jquery/dist/jquery.min.js 

什麼是我的server.js文件和我的index.html文件進行更新,以便它可以找到所有的「CSS」和「JS」文件的最好方法?

回答

2

您可以使用該指令express.static

var server = express(); 
server.use(express.static(path.join(__dirname, 'static'))); 

它將尋找一個靜態的文件夾,以滿足您的靜態文件。只要把你的CSS和JS文件,此文件夾中,並(在你的情況的index.html)在你的模板<head>部分引用它們

1

如果您有這兩行代碼在app.js文件:

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

然後你需要把你的HTML文件放在視圖文件夾中。 我自己用的ejs(templator)用於渲染HTML文件等,加入這行代碼到我的app.js:

app.set('view engine', 'ejs'); 

然後通過改變你的HTML費爾的extention到.ejs你可以使它們驗證碼:

res.render('file_name'); 

更多信息

例如,如果你有一個CSS文件中/public/css/style.css你有這個地址鏈接到它在你的HTML代碼:./css/style.css或類似的東西。

相關問題