# 为什么模块化
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。
使用模块有什么好处:
* 最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括 Node.js 内置的模块和来自第三方的模块。
* 使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。
# 什么是模块化
在 JavaScript 领域:
* 模块是一段 JavaScript 代码,具有统一的基本书写格式。
* 模块之间通过基本交互规则,能彼此引用,协同工作。
# 模块化规范
对书写格式和交互规则的详细描述,就是模块定义规范(Module Definition Specification):
* AMD 规范: Require.js 前端模块化
* CMD 规范: Sea.js 前端模块化
* CommonJS 的 Modules 规范: Node.js 后端模块化规范
* ES6 模块化规范
# 模块
模块是 Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展。
在 Node.js 中,当每个 JavaScript 文件在执行或被 require 的时候,Node.js 其实创建了一个新的实例 var module = new Module(),这个实例名叫 module。这也就是为什么你并没有定义 module 这个变量,却能 console.log 出来而不会报错的原因。而这个实例中有个 exports 属性默认是空对象,而这个属性的里面值就是该模块被导出的的东西。其他模块要使用这些导出的东西,就得使用 require 导入。
- NodeJs
- 01-万维网
- 02-CS 架构 VS BS 架构
- 03-Web 服务器访问流程
- 04-url
- 05-网络传输协议
- 06-HTTP 协议
- 07-报文
- 08-命令行界面
- 09-什么是 Node.js
- 10-环境安装及配置
- 11-JavaScript 代码运行环境
- 12-全局对象
- 13-Buffer
- 14-模块化
- 15-EventEmitter
- 16-path模块
- 17-流式操作
- 18-包
- 19-模板技术
- 20-ejs入门
- 21-express
- 01-什么是express
- 02-Hellow Express
- 03-静态资源服务
- 04-路由
- 05-模块化路由处理程序
- 06-中间件
- 07-手动实现中间件
- 08-常用内置中间件和第三方中间件
- 09-响应
- 10-获取请求参数
- 11-Express 中使用模板引擎
- 22-web存储与安全
- 01-cookie
- 02-sessionStorage
- 03-localStorage
- 04-base64
- 05-https
- 06-同源策略