Node.js 学习笔记 - 学习《深入浅出Node.js》-朴灵

Node.js 学习笔记 - 学习《深入浅出Node.js》-朴灵



一、模块机制

1)简单定义使用

  • require('模块名')
  • export., 定义模块函数

2)模块载入

模块分类
  • 原生(核心)模块,二进制编译,被定义在lib下,快
  • 文件模块,第二次require从缓存加载
文件模块分类
  • .js,通过fs模块读取js文件并编译执行
  • .node,通过C/C++进行编写的Addon,通过dlopen加载
  • .json,读取文件,调用JSON.parse解析加载
载入顺序
  1. 原生模块在启动被加载
  2. 原生模块 module加载通过 Module.runMain 加载文件模块
  3. _load静态方法分析文件路径以来创建个模块实例对象
  4. 模块实例对象根据文件名加载
  5. 对主文件 app.js文件进行头尾包装
  6. require 即调用load方法
  7. load 载入、编译、缓存module,返回exports对象

3)require中的文件查找

文件查找

4)从文件加载

require 接受参数
  • http、fs、path等,原生模块
  • ./mod或../mod,相对路径的文件模块
  • /pathtomodule/mod,绝对路径的文件模块
  • mod,非原生模块的文件模块

每个文件模块都有个paths属性,即module.paths

整个文件查找流程

文件查找流程

5)包结构

CommonJS规范

  • 一个 package.json 文件应该存在于包顶级目录下
  • 二进制文件应该包含在bin目录下
  • JavaScript代码应该包含在lib目录下
  • 文档应该在doc目录下
  • 单元测试应该在test目录下

包的发布还需注意定义package.json的格式

二、事件机制

  • 大部分模块继承自Event模块
  • Event模块:实现了简单的事件监听器模式

1.Event模块的基本事件监听方法

  • addListener/on
  • once
  • removeListener
  • removeAllListeners
  • emit

未完待续,后面的大致浏了下,没咋看懂,看来还是得先熟悉熟悉用法再看的

深入浅出Node.js(四):Node.js的事件机制

转载于:https://www.cnblogs.com/cg-Yun/p/5857842.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值