将整个模块拉入当前作用域Node.js

我试图在需求调用后将整个模块拖入另一个文件的当前范围。

例如,如果我的模块看起来像这样:

exports.chai = require "chai" exports.mocha = require "mocha" exports.Q = require "q" 

那么我怎样才能像当前文件中的全局variables那样访问各个variables呢? 所以,而不是像requireVar.chai做什么,我可以只键入柴?

感谢您的任何build议

使用coffeescript,我build议你使用解构赋值function:

 {chai, mocha, Q} = require 'some_module' // use chai, mocha and Q for good stuff 

你不能只是做:

 var requireVar = require('yourmod') , chai = requireVar.chai , mocha = requireVar.mocha , Q = requireVar.Q ; //then use chai, mocha and Q afterwards chai.hoo(); mocha.mon(); Q.tip(); 

如果你真的想要这样做,我想你可以使用:

 with (require('yourMod')) { // use chai, mocha etc. } 

请注意,没有人喜欢,特别是道格拉斯克罗克福德 。 实际上使用 requireVar.chai好的 ; 它消除了关于chai源自何处的任何歧义,并且使得它易于理解代码/模块的结构。

如果你觉得无聊打字requireVar ,使其真的很短; a.chai