我試圖在需求調用後將整個模塊拉入另一個文件的當前範圍。將整個模塊拉入當前範圍Node.js
舉例來說,如果我的模塊如下所示:
exports.chai = require "chai"
exports.mocha = require "mocha"
exports.Q = require "q"
我怎樣才能再訪問個人變量,如它們在當前文件的全局變量?所以,而不是像requireVar.chai做什麼,我只能鍵入柴?
感謝您的任何意見
我試圖在需求調用後將整個模塊拉入另一個文件的當前範圍。將整個模塊拉入當前範圍Node.js
舉例來說,如果我的模塊如下所示:
exports.chai = require "chai"
exports.mocha = require "mocha"
exports.Q = require "q"
我怎樣才能再訪問個人變量,如它們在當前文件的全局變量?所以,而不是像requireVar.chai做什麼,我只能鍵入柴?
感謝您的任何意見
使用CoffeeScript的,我建議你使用destructuring assignment功能:
{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
:
with (require('yourMod')) {
// use chai, mocha etc.
}
請注意,沒有人喜歡with
但特別ly Douglas Crockford。實際上使用requireVar.chai
是好;它消除了中的任何歧義,其中chai
來源於此,並且易於理解代碼/模塊的結構。
如果您覺得無聊,打字requireVar
,請將其縮短; a.chai
。
是啊,這就是我最終使用。它看起來是最乾淨的,希望有一條我可以用來拉動這些全局變量的單線,但是哦... – JonMorehouse 2013-02-11 15:05:37