Node.js has a set of built-in modules which you can use without any further installation. Here is a list of the built-in modules of Node.js version 6.10.3: ModuleDescription assertProvides a set of assertion tests bufferTo handle binary data ...
首先Node.js 会调用 registerBuiltinModules 函数注册 C++ 模块,这个函数会调用一系列 registerxxx 的函数,我们发现在 Node.js 源码里找不到这些函数,因为这些函数是在各个 C++ 模块中,通过宏定义实现的,宏展开后就是上图黄色框的内容,每个 registerxxx 函数的作用就是往 C++ 模块的链表了插入一个节点,最后会形成...
我们先看builtin module 和 native module的生成过程。 native JS module的生成相对复杂一些,编译后,会在/out/release/obj/gen目录下生成一个node_natives.h。 该文件是由js2c.py生成,它会把Nodejs源码中的lib目录下,所有js文件转成ASCII码,并存放在相应的数组里。 builtin C++ module生成过程相对简单,每个buil...
#define NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, priv, flags) \// 模块结构体staticnode::node_module_module={\NODE_MODULE_VERSION,/*模块版本*/\flags,/*模块类型:builtin、internal、linked*/\nullptr,/*不懂*/\__FILE__,/*不懂*/\nullptr,/*注册方法*/\(node::addon_context_register_...
因此,JS层面的代码都只是普通的方法分发逻辑,真正的调用都来源于底层的C++。 现在回到C++,直接看关键方法getBinding,只取关键代码: staticvoidGetBinding(constFunctionCallbackInfo<Value>&args) {//...//从链表获取对应模块信息node_module* mod = get_builtin_module(*module_v);//新建输出对象Local<Object>ex...
make.js Update module list (#18) Feb 27, 2025 package.json 5.0.0 Feb 27, 2025 readme.md Minor tweaks Feb 27, 2025 test.js Update module list (#18) Feb 27, 2025 builtin-modules A static list of the Node.js builtin modules from the latest Node.js version ...
1、导出模块:使用module.exports或exports将函数、对象或变量导出。 2、导入模块:使用require()导入模块。 导入模块 在Node.js 中,引入一个模块非常简单,如下我们创建一个main.js文件并引入 hello 模块,代码如下: main.js 文件代码: varhello=require('./hello'); ...
模块的导出和导入是模块化编程的基础。在 Node.js 中,开发者可以通过以下方式导出模块内容: 使用exports 对象直接导出属性或方法。 使用module.exports 导出一个对象或函数,这会覆盖 exports 对象。 例如,以下是一个简单的模块导出示例: 代码语言:JavaScript ...
Node.jsURL Module ❮ PreviousNext ❯ The Built-in URL Module The URL module splits up a web address into readable parts. To include the URL module, use therequire()method: varurl = require('url'); Parse an address with theurl.parse()method, and it will return a URL object with...
这里需要讲讲require的另一个伙伴,module函数。 它跟require函数一样都挂载在上下文中,也是全局对象的一个属性,它的作用是管理整个项目的模块。 上面所示,在一个有product.js 和node_modules/lodash这个模块,进入node终端,打印module显示的了模块加载的细节,这里稍微留意一下children(目前是一个空的数组)。