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

Module 如何使用另一个commonjs模块的导出变量而不重新声明它们?,module,declaration,commonjs,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);

假设我有一个模块
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();

好奇的是,你为什么不想简单地做一些不需要魔法的事情呢?简单的问题是什么

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