在nodejs / socket.io app中的Heroku服务器端脚本中包含Backbone

时间:2013-01-22 13:17:56

标签: node.js backbone.js heroku socket.io

我正在开发一个小应用程序作为练习使用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找到)。任何帮助都会非常感激,因为只有在上传阶段才能完成学习和开发才会感到沮丧!

1 个答案:

答案 0 :(得分:0)

我认为问题可能只是您尝试导入一个不存在的模块:

Backbone = require('./Backbone');
 _ = require('./underscore');

尝试改为:

Backbone = require('backbone');
 _ = require('underscore');

我没有用你的应用程序测试它,但主要是这应该有效。