我有一个非常简单的express应用程序,它具有两条路由,一条应呈现html,而另一条应呈现javascript文件。理想情况下,我希望每个文件夹都位于不同的文件夹中,HTML的./views
文件夹和js的./assets/javascripts
文件夹。我想知道最好的方法吗?这是我到目前为止的内容:
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)
我需要这样做吗?在哪里可以找到更多信息?
最佳答案
如果您只是尝试使路由响应静态文件。采用:
app.get('/', function(req, res) {
res.sendFile(__dirname + '/path-to/your/static-file');
});
如果您只想为您的项目设置资产。你应该做:
app.use(express.static(__dirname + '/public'));
然后为您的资产使用专用的
public
目录。(如果这不是您想要的答案,请在评论中问我想要什么!)