如何使用另一个commonjs模块的导出变量而不再声明它们?

时间:2012-05-23 06:16:15

标签: module declaration commonjs

假设我有一个模块models.js

exports.User = mongoose.model('User', UserSchema);
exports.Question = mongoose.model('Question', QuestionSchema);
exports.Answer = mongoose.model('Answer', AnswerSchema);
exports.Comment = mongoose.model('Comment', CommentSchema);

现在我想在另一个文件中使用它:

var models = require('./models');
var User = models.User;
var Question = models.Question;
var Answer = models.Answer;
var Comment = models.Comment

// then use them
var user = new User();

我必须声明我在models.js中定义的所有模型,这很无聊。

有没有办法简化它,我不需要再次声明模型:

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

// !!! do some magic

var user = new User();

1 个答案:

答案 0 :(得分:0)

好奇为什么你不想简单地做,不需要魔法 - 简单的问题是什么..

var models = require('./models');
var user = new models.User();