Module “如何访问该功能”;"富",;通过字符串";"富",;在NodeJS?
i、 e.浏览器的“窗口”对象的等价物是什么,它附加了顶级功能 以下代码在REPL中成功执行:Module “如何访问该功能”;"富",;通过字符串";"富",;在NodeJS?,module,node.js,window,export,Module,Node.js,Window,Export,i、 e.浏览器的“窗口”对象的等价物是什么,它附加了顶级功能 以下代码在REPL中成功执行: var assert = require('assert'); function foo() { }; assert.ok(foo == this["foo"]); 但是,在脚本(或模块)中,它失败了——在这两种情况下,“this”都是空对象 我想知道这一点,这样我就可以很容易地导出模块名称空间中可见的所有函数——我希望能够执行以下操作: function foo() { }; function b
var assert = require('assert');
function foo() { };
assert.ok(foo == this["foo"]);
但是,在脚本(或模块)中,它失败了——在这两种情况下,“this”都是空对象
我想知道这一点,这样我就可以很容易地导出模块名称空间中可见的所有函数——我希望能够执行以下操作:
function foo() { };
function bar() { };
["foo", "bar"].forEach(function (k) {
exports[k] = ???;
});
(
eval(k)
适用于???,但是,呃。)马特·鲍尔的答案很好:
var foo = exports.foo = function() {
//...
};.
// Or, you could create your own object containing
// the functions you'll later export:
var fns = {};
fns.foo = function(){...};
// ...
fns.forEach(/*...*/);
// – Matt Ball Feb 27 at 14:42
或者
exports.foo = {
method1: function() { /*...*/ }
, method2: function() { /*...*/ }
, method3: function() { /*...*/ }
/*...*/
}
展示最佳实践的一些模块:
对于浏览器兼容:
/仅供参考,node.js IRC欢迎您:马特·鲍尔的回答很好:
var foo = exports.foo = function() {
//...
};.
// Or, you could create your own object containing
// the functions you'll later export:
var fns = {};
fns.foo = function(){...};
// ...
fns.forEach(/*...*/);
// – Matt Ball Feb 27 at 14:42
或者
exports.foo = {
method1: function() { /*...*/ }
, method2: function() { /*...*/ }
, method3: function() { /*...*/ }
/*...*/
}
展示最佳实践的一些模块:
对于浏览器兼容:
/仅供参考#node.js IRC欢迎您:我能想到的最好办法是在定义函数时导出它:
var foo=exports.foo=function(){…}代码>。或者,您可以创建自己的对象,其中包含稍后要导出的函数:var fns={};fns.foo=函数(){…}。。。fns.forEach(…)代码>我能想到的最好办法是在定义函数时导出它:var foo=exports.foo=function(){…}代码>。或者,您可以创建自己的对象,其中包含稍后要导出的函数:var fns={};fns.foo=函数(){…}。。。fns.forEach(…)代码>