【发布时间】:2015-01-04 08:16:21
【问题描述】:
我正在尝试将我的应用部署到 Modulus。我已经设置了环境变量:
- NODE_ENV = 生产
- MODULUSURL = mongodb://user:pw@proximus.modulusmongo.net:27017/Ub7ehyqa
- 端口 = 8080
当我部署应用程序时,我收到以下错误:
/mnt/data/1/server/api/user/index.js:10 router.get('/', 控制器.索引); ^ TypeError:无法调用未定义的方法“get” 在对象。 (/mnt/data/1/server/api/user/index.js:10:8) 在 Module._compile (module.js:456:26) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12) 在 Module.require (module.js:364:17) 在需要 (module.js:380:17) 在 module.exports (/mnt/data/1/server/routes.js:12:25) 在对象。 (/mnt/data/1/server/app.js:24:20) 在 Module._compile (module.js:456:26)
看来 MongoDB 连接已建立,因此我已将其排除为问题。此外,这不会发生在我的本地/开发环境中。有没有机会,在部署到生产服务器(如 Mondulus)时,我需要更新诸如 express 之类的组件的路径?
【问题讨论】:
-
当前运行节点 0.10.0。正在运行 express 3.3.4。更改为 ~4.0.0,现在应用程序部署没有错误。现在查看 URL 时出现“未找到”错误。
-
发生“未找到”错误时,您是否在日志中得到了一些信息?另外:它在本地工作吗?
-
是的,在本地工作得很好,我应该指定的。我正在使用 angular-fullstack 版本 2.0.12,我开始认为这就是 grunt 生成 /dist 目录以进行部署的方式。此外,日志没有说明部署时会出现问题。我得到了不错的“应用程序正在运行...”或日志中显示的任何成功消息。
标签: node.js express modulus.io