Javascript nodej需要函数
我在检查节点的全局和模块时发现它们中没有require。我不知道这是否神奇,但如果有人能解释require是否是全局的,那么为什么它既不在全局对象中,也不在模块对象中?require是编译成二进制的核心模块。请在这里详细阅读 核心模块在lib/文件夹中的节点源中定义Javascript nodej需要函数,javascript,node.js,Javascript,Node.js,我在检查节点的全局和模块时发现它们中没有require。我不知道这是否神奇,但如果有人能解释require是否是全局的,那么为什么它既不在全局对象中,也不在模块对象中?require是编译成二进制的核心模块。请在这里详细阅读 核心模块在lib/文件夹中的节点源中定义 如果将核心模块的标识符传递给require(),则始终优先加载它们。例如,require('http')将始终返回内置的http模块,即使存在同名文件 Require是编译成二进制文件的核心模块。请在这里详细阅读 核心模块在lib/
如果将核心模块的标识符传递给require(),则始终优先加载它们。例如,require('http')将始终返回内置的http模块,即使存在同名文件 Require是编译成二进制文件的核心模块。请在这里详细阅读 核心模块在lib/文件夹中的节点源中定义 如果将核心模块的标识符传递给require(),则始终优先加载它们。例如,require('http')将始终返回内置的http模块,即使存在同名文件 因为它在范围内。加载到文件中时,请在后台添加源代码,使您的代码实际如下所示:
(function (exports, require, module, __filename, __dirname) {
// here goes what's in your js file
});
然后,它调用匿名函数,为导出
传递一个新对象,以及对require
函数的引用。()
现在应该很清楚为什么您可以调用require
,即使它不是真正的全局函数。因为它在范围内。加载到文件中时,请在后台添加源代码,使您的代码实际如下所示:
(function (exports, require, module, __filename, __dirname) {
// here goes what's in your js file
});
然后,它调用匿名函数,为导出
传递一个新对象,以及对require
函数的引用。()
现在应该很清楚为什么您可以调用
require
,即使它不是真正的全局范围。请访问此链接:请访问此链接:这并不能真正解决标识符require
被定义的原因,即使它不在全局范围内。这并不能真正解决标识符require
被定义的原因定义,即使它不存在于全局范围中。这是有意义的。我要核实一下:)谢谢!有趣的是,将整个源代码封装在一个匿名函数中,只会使它成为局部的,这给人一种需要全局的印象。现在我明白了,非常感谢!这是有道理的。我要核实一下:)谢谢!有趣的是,将整个源代码封装在一个匿名函数中,只会使它成为局部的,这给人一种需要全局的印象。现在我明白了,非常感谢!