我有一个非常简单的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目录。

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

10-06 04:24
查看更多