嘿,我只是想确保我没有犯这个错误。我正在使用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);
我认为我正在做的是引用相同的内存。因此,如果用户被改变了,它也会改变exports.User。是对的吗?
我这样做的原因是我想在models.js文件中使用变量User,以便更容易地执行User.hasMany(注释)等...并且还能够将相同的变量导出到我申请的其余部分。有什么建议,警告,见解吗?
答案 0 :(得分:3)
你是对的,他们是同一个变量。但是,这很糟糕,因为您没有“var”语句。
exports.User = User = sequelize.import(__dirname + '/models/user');
这样做。
var User = exports.User = sequelize.import(__dirname + '/models/user');
另外,您不小心在评论行上设置了User
。