使用node.js在外部文件中放置主干模型
我试图通过node.js和backbone.js找到我的方法。我的目的是与服务器和浏览器共享至少所有模型状态。现在我不太确定我是否真的需要分享观点。我还想通过express和NodeJ处理所有路线,而不是主干线。为了使我的代码更加结构化,我希望将每个模型保存在一个单独的*.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
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;