使用node.js在外部文件中放置主干模型

使用node.js在外部文件中放置主干模型,node.js,backbone.js,Node.js,Backbone.js,我试图通过node.js和backbone.js找到我的方法。我的目的是与服务器和浏览器共享至少所有模型状态。现在我不太确定我是否真的需要分享观点。我还想通过express和NodeJ处理所有路线,而不是主干线。为了使我的代码更加结构化,我希望将每个模型保存在一个单独的*.js文件中。这样做时,我会遇到以下错误消息: TypeError: Object #<Object> has no method 'extend' app.js var BaseModel=需要('./模型/Ba

我试图通过node.js和backbone.js找到我的方法。我的目的是与服务器和浏览器共享至少所有模型状态。现在我不太确定我是否真的需要分享观点。我还想通过express和NodeJ处理所有路线,而不是主干线。为了使我的代码更加结构化,我希望将每个模型保存在一个单独的*.js文件中。这样做时,我会遇到以下错误消息:

TypeError: Object #<Object> has no method 'extend'
app.js var BaseModel=需要('./模型/BaseModel')


有人知道我做错了什么吗?

我确实知道了。该缺陷是在引用BaseModel时出现的,因此

这个

必须变成:

var MyModel = BaseModel.BaseModel.extend({
   //
};
因为 exports.BaseModel=BaseModel;
在BaseModel.js中,然后在app.js中尝试以下代码:

var Backbone = require('../node_modules/backbone'),
_ = require('../node_modules/underscore'),

var BaseModel = Backbone.Model.extend({

  modelName: 'basemodel'

});

exports.BaseModel = BaseModel;
BaseModel = require('./models/BaseModel').BaseModel;

或者在models/BaseModel.js中不属于
exports.BaseModel=BaseModel
使用它-
module.exports=BaseModel

阅读此问题可能有帮助吗?嘿,MrPovod,谢谢你的回答。不完全是。我对属性的研究还不够深入。如果我将我的基本模型放在app.js中,它就可以正常工作。即使我从BaseModel.js输出BaseModel和从app.js输出BaseModel,它们看起来都是相等的。另外,它也包含extend函数,但node.js对此表示不满。
var MyModel = BaseModel.BaseModel.extend({
   //
};
BaseModel = require('./models/BaseModel').BaseModel;