【发布时间】:2013-03-06 17:16:39
【问题描述】:
我正在尝试通过 node.js 和骨干网找到自己的方式。我的意图是至少与服务器和浏览器共享所有模型状态。现在我不太确定我是否真的需要分享观点。我还想通过 express 和 nodejs 处理所有路由,而不是骨干网。为了让我的代码更加结构化,我期待将每个模型保存在单独的 *.js 文件中。通过这样做,我遇到了以下错误消息:
TypeError: Object #<Object> has no method 'extend'
我认为这可能是单独文件中缺少下划线的问题,所以这是我的基本模型:
models/BaseModel.js
var Backbone = require('../node_modules/backbone'),
_ = require('../node_modules/underscore'),
var BaseModel = Backbone.Model.extend({
modelName: 'basemodel'
});
exports.BaseModel = BaseModel;
app.js var BaseModel = require('./models/BaseModel');
var MyModel = BaseModel.extend({
// ... attributes, functions etc.
});
有没有人暗示我在那里做错了什么?
【问题讨论】:
-
阅读这个问题stackoverflow.com/questions/6549149/…也许有帮助?
-
嗨 MrPovod,感谢您的回复。不完全的。到目前为止,我什至还没有使用属性。如果我将 BaseModel 放在 app.js 中,它可以正常工作。即使我从 BaseModel.js 输出 BaseModel 和从 app.js 输出 BaseModel,它们看起来都是相等的。另外它也包含扩展函数,但是 node.js 抱怨它。
标签: node.js backbone.js