我正在开发一个小应用程序作为练习使用node.js,Backbone和socket.io,我已经设法在本地工作(工头开始正确启动应用程序没有错误)。但是,在部署到heroku时,我遇到了问题,因为我的models.js文件(由客户端和服务器使用)需要Backbone。我确信找到它是一件简单的事情,但我是Node的新手,也是Backbone的新手。
在我的主app.js文件中(由节点提供),我有vars
var Backbone = require('backbone'),
_ = require('underscore')._;
我还有一个app.js所需的models.js文件,如下所示:
var models = require('./public/js/models.js');
(客户端也需要此文件)。在models.js中,我从代码
开始var server = false;
if (typeof exports !== 'undefined') {
server = true;
Backbone = require('Backbone');
_ = require('underscore');
}
而且我认为这是它陷入困境的地方。如果这不是要提供的正确信息,请道歉(整个项目可以在https://github.com/kevadsett/testHeroku找到)。任何帮助都会非常感激,因为只有在上传阶段才能完成学习和开发才会感到沮丧!
答案 0 :(得分:0)
我认为问题可能只是您尝试导入一个不存在的模块:
Backbone = require('./Backbone');
_ = require('./underscore');
尝试改为:
Backbone = require('backbone');
_ = require('underscore');
我没有用你的应用程序测试它,但主要是这应该有效。