我是node.js的新手,专家,请帮忙.
我正在准备基于node.js AWS Cognito Facebook登录进行用户同步的代码.我试过这个link的一个例子.
每一步都顺利进行,直到“facebook与护照一起唱歌”部分
var express = require('express');
var router = express.Router();
var passport = require('passport');
...
router.use(passport.initialize());
...
在示例中添加此部分后,我运行“npm start”,出现以下错误:
C:\workspace\nodejs\CognitoExample\routes\index.js:35
router.use(passport.initialize());
^
TypeError: Cannot read property 'use' of undefined
“看不懂财产”是什么意思?如何解决问题?
预先感谢.
经过几位专家的帮助,我可以解决问题:
>重新安装快递
昨天我使用了npm install -g express-generator @ 3命令,所以它使我的全局设置表达版本3.我先卸载并再次安装express.
npm uninstall -g express-generator@3
npm uninstall -g express
npm install -g express
npm install -g express-generator
>删除本地node_modules
在第1步之后,同样的问题仍然存在,我发现我之前在本地工作文件夹中安装了快递3.x,所以我创建了一个新的工作文件夹,再次重启示例代码,问题就消失了
解决方法:
您所关注的教程是基于4.x版本的Express框架编写的. Express 4.x中有significant changes regarding routing process,与3.x版本相比.特别是,添加了express.Router()
对象.所以,或者你必须熟练你的代码(this可能会帮助你),以使其工作,或升级Express版本.
原文地址:https://codeday.me/bug/20190623/1271930.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。