首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >express.Router()返回未定义的

express.Router()返回未定义的
EN

Stack Overflow用户
提问于 2015-04-06 03:44:31
回答 2查看 7.9K关注 0票数 3

我正在尝试设置一个运行在我的node.js HTTP服务器上的rest。对于常规调用,我希望路径是/...,对于API调用,我希望使用/API/...

从我可以从各种网页(包括http://expressjs.com/guide/routing.html )收集到的信息来看,我需要的是这样的东西:

代码语言:javascript
运行
复制
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文件中的项目依赖项是:

代码语言:javascript
运行
复制
  "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"
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-08 13:44:47

升级Express JS包可能会有所帮助

代码语言:javascript
运行
复制
npm install express@4.13.4 -g

代码语言:javascript
运行
复制
npm install express@4.13.4 --save-dev

代码语言:javascript
运行
复制
//Edit your pakage.json
"dependencies": {
    "express": "~4.13.4"
}
票数 4
EN

Stack Overflow用户

发布于 2016-02-24 14:33:01

您必须更新或迁移您的快递到4.#.#。如果您使用的是旧版本,则不推荐3.x和2,x版本。以下是迁移的链接。此外,您还可以使用以下组件:

得到最后一个版本

npm安装快件--保存

获得4.13.4版

npm安装快件@4.13.4--保存

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29465045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档