[英]express.Router() is returning undefined
I'm trying to set up a rest API that runs on my node.js HTTP server. 我正在尝试设置在我的node.js HTTP服务器上运行的rest API。 For regular calls, I want the path to be /...
, for API calls, I want to use /API/...
. 对于常规调用,我希望路径为/...
,对于API调用,我想使用/API/...
From what I can gather from various webpages, including http://expressjs.com/guide/routing.html , what I need is something like this: 从我可以从各种网页收集的内容,包括http://expressjs.com/guide/routing.html ,我需要的是这样的:
var express = require('express');
var app = express();
var router = express.Router();
/* set up app ... */
router.route('/some/url').get(...).put(...);
app.use('/API', router);
For some reason, however, the third line ( var router = ...
) always returns undefined
. 但是,出于某种原因,第三行( var router = ...
) 始终返回undefined
。 When I debug, I can plainly see that express.Router()
is a function with no return statement, but does include a bunch of this.foo
setters. 当我调试时,我可以清楚地看到express.Router()
是一个没有return语句的函数,但确实包含了一堆this.foo
setter。 This makes me think that I should be calling var router = new express.Router()
, but I can't find any documentation to support that claim. 这让我觉得我应该调用var router = new express.Router()
,但我找不到任何支持该声明的文档。
Ideas on what's going wrong? 什么出错的想法?
My project dependencies in my packages.json
files are: 我的packages.json
文件中的项目依赖项是:
"dependencies": {
"body-parser": "^1.12.2",
"express": "^3.4.4",
"express-react-views": "^0.7.1",
"fluxxor": "^1.5.2",
"mongoose": "^4.0.1",
"react": "^0.12.2"
}
Upgrading your Express JS package may help 升级Express JS软件包可能会有所帮助
npm install express@4.13.4 -g
OR 要么
npm install express@4.13.4 --save-dev
OR 要么
//Edit your pakage.json
"dependencies": {
"express": "~4.13.4"
}
You must update or migrate your express to 4.#.# . 您必须将快递更新或迁移到4。#。#。 Defenitly you are using a older version, versions 3.x and 2,x are deprecated. 默认情况下,您使用的是旧版本,不推荐使用版本3.x和2,x。 Here is a link for the migration . 这是迁移的链接。 Also you can use this comands: 你也可以使用这个命令:
to get the last version 获取最新版本
npm install express --save npm install express --save
or 要么
to get the version 4.13.4 获得版本4.13.4
npm install express@4.13.4 --save npm install express@4.13.4 --save
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.