如何从express中呈现html和javascript?
我有一个非常简单的express应用程序,它有两条路径,一条应该呈现html,另一条应该呈现javascript文件。理想情况下,我希望每个都在不同的文件夹中,一个用于html的如何从express中呈现html和javascript?,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我有一个非常简单的express应用程序,它有两条路径,一条应该呈现html,另一条应该呈现javascript文件。理想情况下,我希望每个都在不同的文件夹中,一个用于html的/views文件夹和一个用于js的/assets/javascripts文件夹。我想知道最好的方法是什么?以下是我到目前为止的情况: var express = require('express') , app = express() , fs = require('fs') ['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'));
然后为您的资产使用专用的公共
目录
(如果这不是您想要的答案,请在评论中询问我您想要什么!)对于静态JavaScript文件,您只需要设置公共资产文件夹,如下所示:
app.use(express.static(__dirname + '/public'));
我建议您进一步阅读API文档:第二条路线在哪里???而且您不需要为静态javascript文件设置路由!!!