1

嘿,我只是想确保我没有犯这个大错误。我将 Sequelize.js 用于 node.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);

我认为我正在做的是引用相同的内存。因此,如果以某种方式更改了用户,它也会更改 export.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 回答