Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Module “如何访问该功能”;"富",;通过字符串";"富",;在NodeJS?_Module_Node.js_Window_Export - Fatal编程技术网

Module “如何访问该功能”;"富",;通过字符串";"富",;在NodeJS?

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

i、 e.浏览器的“窗口”对象的等价物是什么,它附加了顶级功能

以下代码在REPL中成功执行:

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(…)