2014-10-18 54 views
0

我有一個非常簡單的快速應用程序有兩個路線,一個應該呈現HTML,一個應該呈現一個JavaScript文件。理想情況下,我希望每個文件夾都有不同的文件夾,用於html的./views文件夾和用於js的./assets/javascripts文件夾。我想知道這樣做的最好方法嗎?這是我到目前爲止:如何從快遞中呈現html和javascript?

var express = require('express') 
    , app  = express() 
    , fs  = require('fs') 

['html', 'js'].forEach(function(extension) { 
    app.engine(extension, function(filePath, options, callback) { 
    fs.readFile(filePath, function(err, content) { 
     if (err) throw new Error(err) 
     return callback(null, content.toString()) 
    }) 
    }) 
}) 

app.set('views', './views') 
app.set('view engine', 'html') 

app.get('/', function(req, res) { 
    res.render('index') 
}) 

app.listen(3000) 

我需要這樣做嗎?我在哪裏可以找到更多信息?

+0

你的第二條路線在哪裏?你不需要有靜態JavaScript文件的路線! – 2014-10-18 13:20:42

回答

1

如果您只是想製作響應靜態文件的路由。使用:

app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/path-to/your/static-file'); 
}); 

如果您只是想爲您的項目設置資產。你應該這樣做:

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

然後使用專用public目錄爲您的資產。

(如果這不是你要找的人問我的意見,你想要的答案!)

1

對於靜態JavaScript文件,你只需要設置你的公共資產的文件夾,因爲這樣的:

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

我建議你進一步閱讀API文檔:http://expressjs.com/api.html