如何从express中呈现html和javascript?

如何从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',

我有一个非常简单的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'));
然后为您的资产使用专用的
公共
目录


(如果这不是您想要的答案,请在评论中询问我您想要什么!)

对于静态JavaScript文件,您只需要设置公共资产文件夹,如下所示:

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

我建议您进一步阅读API文档:

第二条路线在哪里???而且您不需要为静态javascript文件设置路由!!!