Javascript dirname vs.为sendFile()Node.js提供根路径
我遵循的是关于平均堆栈的教程,但它有点旧,作者使用的一些方法不推荐使用。他使用sendfile(),我将其改为sendfile(),因为服务器警告我sendfile()已被弃用。新的sendFile()表示它采用绝对路径,而不是相对路径。我有一个有效的端点:Javascript dirname vs.为sendFile()Node.js提供根路径,javascript,html,node.js,Javascript,Html,Node.js,我遵循的是关于平均堆栈的教程,但它有点旧,作者使用的一些方法不推荐使用。他使用sendfile(),我将其改为sendfile(),因为服务器警告我sendfile()已被弃用。新的sendFile()表示它采用绝对路径,而不是相对路径。我有一个有效的端点: app.get('/', function (req, res){ res.sendFile(__dirname + 'layouts/posts.html') }) 在服务器中,但现在我们将所有端点拆分为控制器。当前(相关)文件
app.get('/', function (req, res){
res.sendFile(__dirname + 'layouts/posts.html')
})
在服务器中,但现在我们将所有端点拆分为控制器。当前(相关)文件结构如下所示:
var router = require('express').Router()
router.get('/', function (req, res){
res.sendFile('layouts/posts.html')
})
module.exports = router
/控制器/static.js
/layouts/posts.html
本教程说/controllers中的端点应该如下所示:
var router = require('express').Router()
router.get('/', function (req, res){
res.sendFile('layouts/posts.html')
})
module.exports = router
使用服务器中的相应代码:
app.use(require('./controllers/static'))
使用('layouts/post.html')我会得到错误“路径必须是绝对的或指定res.sendFile的根目录”,当我尝试添加u dirname或来自服务器根目录的路径时,我会得到一个enoint…./controllers/somethingited/posts.html。有人能解释一下解决这个问题的最佳方法吗?服务器在这里考虑的绝对路径是什么?我尝试从根目录创建路径失败:
../layouts/posts.html
以及本页的建议:
将根路径添加到下一个参数“选项” 比如: