当前位置: 首页 > 后端技术 > Node.js

Node.js的内置模块详解!

时间:2023-04-03 12:23:17 Node.js

1。Node.js内置模块(Module)Node.js内置模块是Node.js的顶层API,提供访问网络、操作文件等核心功能。npm中的模块库基于这些顶级API。封装实现更方便的功能。1、查看内置模块创建一个example.js文件,将以下代码复制到文件中,在终端运行nodeexample.js,可以看到Node.js内置的所有模块名称。//example.jsconstm=require('module');console.log("\r\n\r\n**************************");console.log("require('module'):",m);constbuiltin=m.builtinModules;console.log("\r\n\r\n************************”);console.log(“内置:”,内置);2。内置模块可以修改,但不能添加或删除。使用内置模块fs作为测试对象进行修改、删除、添加内容,然后进行同步。最后通过动态导入的方式导入一个新的fs进行前后对比。查看方法:创建example.js文件,将以下内容复制到文件中,在终端运行nodeexample.js查看结果,如果assert断言有错误,会抛出错误,否则会有无输出。//example.jsconstfs=require('fs');constassert=require('断言');const{syncBuiltinESMExports}=require('module');functionnewAPI(){//...}//修改fs.readFile=newAPI;//删除deletefs.readFileSync;//添加fs.newAPI=newAPI;//同步syncBuiltinESMExports();import('fs').then((esmFS)=>{//修改后内容同步assert.strictEqual(esmFS.readFile,newAPI);//删除操作确实成功assert.strictEqual('readFileSync'infs,false);//删除的内容在新模块中仍然存在assert.strictEqual('readFileSync'inesmFS,true);//新内容,在新模块中不存在assert.strictEqual(esmFS.newAPI,undefined);});2.参考Node.js内置模块说明!