将整个模块拉入当前作用域Node.js
Pull Entire Module into current scope Node.js
在一次require调用后,我正试图将整个模块拉入另一个文件的当前作用域。
例如,如果我的模块看起来像这样:
exports.chai = require "chai"
exports.mocha = require "mocha"
exports.Q = require "q"
然后,我如何访问单个变量,就像它们是当前文件中的全局变量一样?所以,与其做requireVar.chai之类的事情,我可以直接键入chai吗?
感谢您的任何建议
使用coffeescript,我建议您使用析构函数赋值功能:
{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
,尤其是Douglas Crockford。事实上,使用requireVar.chai
是好;它消除了chai
来源于的任何歧义,并使您更容易理解代码/模块的结构。
如果你厌倦了键入requireVar
,就把它写得很短;a.chai
。
相关文章:
- 访问Javascript对象-Node.js的作用域问题
- Node.js作用域错误
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- Node.js:在模块作用域中使用“this”运算符的上下文是什么
- 当我在 Node JS 中调用 modernizr.build 时,非常不寻常的作用域行为
- 在Node中与jsdom和jquery共享变量作用域
- javascript中node.js的全局变量作用域
- 如何使用Node.js在外部作用域中定义回调函数?
- Node.JS如何设置当前作用域之外的变量
- Node.js / Express / JavaScript作用域问题
- 在node.js的循环中调用回调函数的作用域问题
- 使用& # 39;var # 39;和& # 39;这个# 39;在node.js程序的全局作用域中
- 在Javascript中(当使用node.js时),你如何知道/定义变量的作用域?
- Node.js Javascript作用域问题
- Node.js:回调变量作用域的问题
- Javascript node.js回调函数变量作用域问题
- 这是Node.js中的正确代码吗?(变量作用域)
- 使用Bluebird promise修复Node.js中的作用域/上下文错误
- 在Node.js中处理变量作用域的方法
- 将整个模块拉入当前作用域Node.js