Node 相关知识
其他
2020-03-10 10:30:48
阅读次数: 0
一、Node.js 用途
- Web 服务 API,比如 REST
- 实时多人游戏
- 后端的 Web 服务,例如跨域、服务器端的请求
- 基于 Web 的应用
- 多客户端的通信,如即时通信
二、ECMAScript 标准的缺陷
- 没有模块系统
- 标准库较少
- 没有标准接口
- 缺乏管理系统
三、模块化
- 如果程序设计的规模达到了一定程度,则必须对其进行模块化。
- 模块化可以有多种形式,但至少应该提供能够将代码分割为多个源文件的机制。
- CommonJS 的模块功能可以帮我们解决该问题。
四、CommonJS 规范
- CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有模块化标准的缺陷。
- CommonJS 规范为 JS 指定了一个美好的愿景, 希望 JS 能够在任何地方运行。
- CommonJS 对模块的定义十分简单:
1、模块引用
2、模块定义
3、模块标识
五、模块引用
- 在规范中,定义了 require()方法,这个方法接手模块标识,以此将一个模块引入到当前运行环境中。
- 模块引用的示例代码:
var math = require('math');
六、模块定义
- 在运行环境中,提供了 exports 对象用于导 出当前模块的方法或者变量,并且它是唯一的导出的出口。
- 在模块中还存在一个 module 对象,它代表模块自身,而 exports 是 module 的属性。
- 在 Node 中一个文件就是一个模块。
七、模块标识
- 模块标识其实就是模块的名字,也就是传递给 require()方法的参数,它必须是符合驼峰命名法的字符串,或者是以
.
、..
开头的相对路径、或者绝对路径。
- 模块的定义十分简单,接口也十分简洁。 每个模块具有独立的空间,它们互不干扰, 在引用时也显得干净利落。
八、Node 模块实现
- Node 中虽然使用的是 CommonJS 规范,但是其自身也对规范做了一些取舍。
- 在 Node 中引入模块,需要经历如下 3 个步骤:
1、路径分析
2、文件定位
3、编译执行
- 在 Node 中,模块分为三类:一类是底层由 C++ 编写的内建模块,一类是 Node 提供的核 心模块;还有一类是用户编写的模块,称为文件模块。
发布了161 篇原创文章 ·
获赞 71 ·
访问量 3万+
转载自blog.csdn.net/qq_44034384/article/details/99686858