TypeError:无法读取未定义的属性“get”(nodejs)
Posted
技术标签:
【中文标题】TypeError:无法读取未定义的属性“get”(nodejs)【英文标题】:TypeError: Cannot read property 'get' of undefined (nodejs) 【发布时间】:2017-08-30 02:06:06 【问题描述】:我正在关注 udemy 的一个项目,我遇到了 TypeError: Cannot read property 'db' of undefined
var express = require('express');
var router = express.Router();
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/nodeblog');
/* GET home page. */
router.get('/', function(req, res, next)
var deb = req.db;
var posts = deb.get('posts');
posts.find(,,function(err, posts)
res.render('index',
"posts": posts
);
);
);
module.exports = router;
【问题讨论】:
我的意思是...显然req.locals
是未定义的,因此没有db
属性。
补充上述内容:您正在重新使用db
var: 一次作为monk(...)
的返回值,并再次在您的请求处理程序中作为req.locals.db
的返回值.
用 db.get 编辑
【参考方案1】:
我认为这可能是您的快递版本。转到您的 json 文件,删除 express 和 npm install express --save 。当前版本是“express”:“^4.15.2”,如果您使用的是 3.something 可能是它。
【讨论】:
【参考方案2】:这个错误是因为旧版本的express。打开 package.json 用 "express": "^4.15.3" 替换旧的 express 版本,然后运行 npm install 这将安装所需的包。然后运行 npm start 启动应用程序。
【讨论】:
以上是关于TypeError:无法读取未定义的属性“get”(nodejs)的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js:TypeError:无法读取未定义的属性“get”
Discord.js TypeError:无法读取未定义的属性“get”
TypeError:无法读取未定义的 vue js 的属性“get”
VueComponent.mounted:TypeError:无法读取挂载钩子中未定义的属性“get”