【发布时间】:2014-10-17 06:37:45
【问题描述】:
如果我做一个
res.sendfile('public/index1.html');
然后我收到服务器控制台警告
表示不推荐使用
res.sendfile:改用res.sendFile
但它在客户端工作正常。
但是当我把它改成
res.sendFile('public/index1.html');
我收到一个错误
TypeError: path must be absolute or specified root to
res.sendFile
并且index1.html 未呈现。
我无法弄清楚绝对路径是什么。我的public 目录与server.js 处于同一级别。我正在使用server.js 执行res.sendFile。我还声明了app.use(express.static(path.join(__dirname, 'public')));
添加我的目录结构:
/Users/sj/test/
....app/
........models/
....public/
........index1.html
这里要指定的绝对路径是什么?
我正在使用 Express 4.x。
【问题讨论】:
-
如果您使用
express.static中间件为您的公共目录提供服务,为什么需要res.sendFile发送public/index1.html? -
我正在从
app.get('/', function(req, res){res.sendFile("...")})内部调用res.sendFile按需发送。