JavaScript 模块化
JavaScript 天生不支持模块化
注意:但是虽然标准已经发布了,但是很多 JavaScript 运行环境还不支持。 Node v8.5
版本之后才对 EcmaScript 6 module 进行了支持
- Node.js 里有
exports
、require
- 模块独立作用域
- 可以使用 API 来进行文件与文件之间的依赖加载
- 在 Node 这个环境中对 JavaScript 进行了特殊的模块化支持 CommonJS
- 在浏览器中也可以像在 Node 中的模块一样来进行编程
<script>
标签来引用加载,而且你还必须考虑加载的顺序问题require.js
第三方库 AMDsea.js
第三方库 CMD
-
发布 EcmaScript 6 Modules 官方规范
- 其中就包含了官方对 JavaScript 模块化的支持 ,官方看民间都在乱搞,开发人员为了在不同的环境使用不同的 JavaScript 模块化解决方案。也就是说语言天生就支持了
-
无论是 CommonJS、AMD、CMD、UMD、EcmaScript 6 Modules 官方规范
- 都是为了解决 JavaScript 的模块化问题
- CommonJS、AMD、CMD 都是民间搞出来的
PHP 中为什么就可以直接 require
、include
?
- 因为 PHP 当初在设计的时候就加入了这个功能
- PHP 这门语言天生就支持