Edw*_*ang 4 javascript router node.js express
我是node.js的新手,专家,请帮忙.我正在准备基于node.js + AWS Cognito + Facebook Login进行用户同步的代码.我从这个链接尝试了一个例子.
每一步都顺利进行,直到"facebook与护照一起唱歌"部分
var express = require('express');
var router = express.Router();
var passport = require('passport');
...
router.use(passport.initialize());
...
Run Code Online (Sandbox Code Playgroud)
在示例中添加此部分后,我运行"npm start",出现以下错误:
C:\workspace\nodejs\CognitoExample\routes\index.js:35
router.use(passport.initialize());
^
TypeError: Cannot read property 'use' of undefined
Run Code Online (Sandbox Code Playgroud)
"看不懂财产"是什么意思?如何解决问题?预先感谢.
经过几位专家的帮助,我可以解决问题:
昨天我使用了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
Run Code Online (Sandbox Code Playgroud)
在第1步之后,同样的问题仍然存在,我发现我之前在本地工作文件夹中安装了快递3.x,所以我创建了一个新的工作文件夹,再次重启示例代码,问题就消失了
您所关注的教程是基于4.x版本的Express框架编写的.与3.x版本相比,Express 4.x中的路由过程发生了重大变化.特别是,express.Router()添加了对象.所以,或者您必须熟练使用您的代码(这可能会对您有所帮助),以使其正常工作或升级Express版本.
| 归档时间: |
|
| 查看次数: |
9914 次 |
| 最近记录: |