0

node.jsとbackbone.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.

});

誰かが私がそこで間違っていることのヒントを持っていますか?

4

2 に答える 2

1

次に、app.jsで次のコードを試してください。

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

または、models/BaseModel.jsではexports.BaseModel = BaseModel;使用しないでください-module.exports = BaseModel

于 2013-03-06T19:38:19.190 に答える
0

私は実際にそれを理解しました。欠陥はBaseModelを参照していたので、

これ

var MyModel = BaseModel.extend({
  //
});

に変えなければなりませんでした:

var MyModel = BaseModel.BaseModel.extend({
   //
};

exports.BaseModel=BaseModelのため; BaseModel.jsで

于 2013-03-06T17:50:04.373 に答える