在我的router/index.js中,我使用res.sendfile(..),如下所示:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
res.sendfile('public/app.html');
});
module.exports = router;这是我的目录结构:
/Users/lucas/nodeProject/
....app.js
....public/
........app.html
....routes/
........index.js这个例子的目的是通过http://myurl.com/而不是http://myurl.com/app.html登录到我的页面。除了在服务器端控制台上收到以下消息外,一切正常:
express deprecated res.sendfile: Use res.sendFile instead有没有人知道原因,以及如何解决这个问题?简单地用res.sendfile(..)代替res.sendFile(..)会给我一个错误:
path must be absolute or specify root to res.sendFile我尝试了其他选项,概述了here和here以替代res.sendFile('app.html', { root: path.join(__dirname, '../public') });,但它只给出了以下错误:
ReferenceError: path is not defined下面也是我的依赖关系:
"dependencies": {
"express": "~4.8.1",
"static-favicon": "~1.0.0",
"morgan": "~1.0.0",
"cookie-parser": "~1.0.1",
"body-parser": "~1.0.0",
"debug": "~0.7.4",
"jade": "*",
"mongodb": "*",
"mongoskin": "*",
"connect-mongo": "*",
"express-session": "~1.5.1"}我对node.js也有点陌生,所以欢迎任何建议。
发布于 2014-09-15 03:26:12
ReferenceError: path is not defined
这意味着您需要将var path = require('path');放在脚本顶部附近。
发布于 2017-11-23 13:46:37
您还可以通过添加以下代码行获得相同的结果:
var dirPath = __dirname;
app.get('/', (req, res) => {
res.sendFile(`${dirPath}/assets/views/index.html`);
});https://stackoverflow.com/questions/25840301
复制相似问题