0

我正在使用 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找到)。任何帮助都将不胜感激,因为通过所有的学习和开发却在上传阶段被破坏是令人沮丧的!

4

1 回答 1

0

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

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

请尝试:

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

我没有用你的应用程序测试它,但基本上这应该可以工作。

于 2013-01-22T15:59:31.400 回答