将整个模块拉入当前作用域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
。