2013-02-26 51 views
1

嘿,我只是想確保我不會犯這個巨大的錯誤。我正在使用Sequelize.js作爲node.js項目。我想確保我通過參考和有人來請解釋這個概念,以及是否有更好的方法來做到這一點。節點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); 

我想我正在做的是引用相同的內存。因此,如果用戶被改變,它也會改變出口。用戶。是對的嗎?

我這樣做的原因是我想在我的models.js文件中使用變量User使User.hasMany(Comments)等更容易...並且還能夠導出相同的變量到我的應用程序的其餘部分。任何建議,警告,見解?

回答

3

你說得對,他們是同一個變量。但是,這很糟糕,因爲您沒有「var」語句。

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

取而代之。

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

此外,您意外地在註釋行中設置User

+0

太棒了!謝謝Sean我現在會做出這個改變。所有冰雹節點王:) – jpotts18 2013-02-27 05:30:20