博客
关于我
node模块化
阅读量:794 次
发布时间:2023-02-16

本文共 1059 字,大约阅读时间需要 3 分钟。

// exports 是一个空对象,exports并不是全局的,每个模块都有这个对象 例:exports.a = 1;//require() => module.require();方法的返回值就是module.exports对象/** * 一个文件是一个模块,每个模块中都有一个内置的对象 : module *  该对象提供了包括当前模块文件所拥有的一些信息 * { *      id : 当前模块的唯一标识,默认id为当前这个文件的绝对路径 *      filename : 当前模块的文件  *      ... * } *  * 虽然exports == module.exports是同一个东西,但是使用上有一定注意事项 * 如果用exports来导出对象的话,就会赋值给一个新的对象,那么和module.exports就没有关系了,因为在node里相当于做了let exports = module.exports; */ /**  * 文件夹模块类型 ;当我们导入的是一个文件的时候,就会默认是文件夹模块,去引入文件夹下的index.js文件,也可以创建package.json,里面配置信息,配置一个参数main,  * 里面的值就是模块要引入的文件  *     当我们导入的模块名称是一个文件夹的时候  *     1.读取该文件夹下的package.json文件  *     2.导入package.json文件中main选项指定的文件  *     3.如果不存在package.json或者main指定的文件,默认指定寻找index.js文件  *//** * 如果我们加载的是node_modules目录下的,又会有另外一个规则 * 就可以省略掉node_modules前面的文件地址 * 如果模块的加载是以 ./  ../  /  开始的,那么就是路径模块加载模式,不以这些路径开始的模式,按照另外一种加载机制进行加载 *      当非路径加载模式的时候 : *          在module对象中有一个属性paths,里面保存的就是这种非路径加载模式需要查找的路径列表 */ /**  * node里面也有核心模块,如果自己定义的模块和核心模块冲突了,会加载核心模块  *//** * 模块文件后缀加载机制  : 文件 > .js > .josn > .node */

 

转载于:https://www.cnblogs.com/ninefrom/p/10900095.html

你可能感兴趣的文章
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测机制
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理一
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>