1

ちょっと、これで大きな間違いを犯していないことを確認したいだけです。node.js プロジェクトに Sequelize.js を使用しています。私が参照渡しをしていることを確認したいのですが、誰かがその概念を説明してください。これを行うためのより良い方法があるかどうか.

var sequelize = new Sequelize(database, user, password);
exports.User = User = sequelize.import(__dirname + '/models/user');
exports.Comment = Comment = sequelize.import(__dirname + '/models/comment');

User.hasMany(Comment);
Comment.belongsTo(User);

// I dont want my code to look like this

exports.User.hasMany(exports.Comment);

私がやっていることは、同じメモリを参照していると思います。したがって、何らかの形で User が変更された場合、exports.User も変更されます。そうですか?

私がこれを行っている理由は、models.js ファイルで変数 User を使用して、User.hasMany(Comments) などを簡単に実行できるようにするためです。また、同じ変数を残りの私のアプリケーション。提案、警告、洞察はありますか?

4

1 に答える 1

3

そうです、それらは同じ変数です。ただし、「var」ステートメントがないため、これは悪いことです。

exports.User = User = sequelize.import(__dirname + '/models/user');

代わりにこれを行ってください。

var User = exports.User = sequelize.import(__dirname + '/models/user');

また、誤っUserてコメント行に設定しました。

于 2013-02-26T23:00:04.777 に答える