模块(Module)

,是能够单独命名并独⽴地完成⼀定功能的程序语句的集合(即程序代码和数据结

构的集合体)。

两个基本的特征:外部特征和内部特征

外部特征是指模块跟外部环境联系的接⼝(即其他模块或程序调⽤该模块的⽅式,包括有输⼊输出

参数、引⽤的全局变量)和模块的功能

内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)

为什么需要模块化

代码抽象

代码封装

代码复⽤

依赖管理

如果没有模块化,我们代码会怎样?

变量和⽅法不容易维护,容易污染全局作⽤域

加载资源的⽅式通过script标签从上到下。

依赖的环境主观逻辑偏重,代码较多就会⽐较复杂。

⼤型项⽬资源难以维护,特别是多⼈合作的情况下,资源的引⼊会让⼈奔溃

ES6 模块内部⾃动采⽤了严格模式,这⾥就不展开严格模式的限制,毕竟这是 ES5 之前就已经规定

模块功能主要由两个命令构成:

export :⽤于规定模块的对外接⼝

import :⽤于输⼊其他模块提供的功能

动态加载