我正在尝试设置一个运行在我的node.js HTTP服务器上的rest。对于常规调用,我希望路径是/...
,对于API调用,我希望使用/API/...
。
从我可以从各种网页(包括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);
但是,由于某些原因,第三行(var router = ...
)总是返回undefined
。当我调试时,我可以清楚地看到express.Router()
是一个没有返回语句的函数,但是确实包含了一组this.foo
设置程序。这让我觉得我应该调用var router = new express.Router()
,但是我找不到任何文档来支持这个声明。
关于哪里出了问题的想法?
我的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"
}
发布于 2016-02-08 13:44:47
升级Express JS包可能会有所帮助
npm install express@4.13.4 -g
或
npm install express@4.13.4 --save-dev
或
//Edit your pakage.json
"dependencies": {
"express": "~4.13.4"
}
发布于 2016-02-24 14:33:01
您必须更新或迁移您的快递到4.#.#。如果您使用的是旧版本,则不推荐3.x和2,x版本。以下是迁移的链接。此外,您还可以使用以下组件:
得到最后一个版本
npm安装快件--保存
或
获得4.13.4版
npm安装快件@4.13.4--保存
https://stackoverflow.com/questions/29465045
复制相似问题