目录
Node.js 学习笔记 - 学习《深入浅出Node.js》-朴灵一、模块机制1)简单定义使用2)模块载入3)require中的文件查找4)从文件加载5)包结构二、事件机制1.Event模块的基本事件监听方法
Node.js 学习笔记 - 学习《深入浅出Node.js》-朴灵
一、模块机制
1)简单定义使用
require('模块名')export., 定义模块函数2)模块载入
模块分类
原生(核心)模块,二进制编译,被定义在lib下,快文件模块,第二次require从缓存加载文件模块分类
.js,通过fs模块读取js文件并编译执行.node,通过C/C++进行编写的Addon,通过dlopen加载.json,读取文件,调用JSON.parse解析加载载入顺序
原生模块在启动被加载原生模块 module加载通过 Module.runMain 加载文件模块_load静态方法分析文件路径以来创建个模块实例对象模块实例对象根据文件名加载对主文件 app.js文件进行头尾包装require 即调用load方法load 载入、编译、缓存module,返回exports对象3)require中的文件查找
4)从文件加载
require 接受参数
http、fs、path等,原生模块./mod或../mod,相对路径的文件模块/pathtomodule/mod,绝对路径的文件模块mod,非原生模块的文件模块每个文件模块都有个paths属性,即module.paths
整个文件查找流程
5)包结构
一个 package.json 文件应该存在于包顶级目录下二进制文件应该包含在bin目录下JavaScript代码应该包含在lib目录下文档应该在doc目录下单元测试应该在test目录下CommonJS规范
包的发布还需注意定义package.json的格式
二、事件机制
大部分模块继承自Event模块Event模块:实现了简单的事件监听器模式1.Event模块的基本事件监听方法
addListener/ononceremoveListenerremoveAllListenersemit未完待续,后面的大致浏了下,没咋看懂,看来还是得先熟悉熟悉用法再看的
深入浅出Node.js(四):Node.js的事件机制