随着技术的发展 JS 的标准也在逐渐完善,在模块化方面的实现方式相对于以往已经有了一个很大的变化。现如今的前端模块化以经算是非常成熟了,而且目前针对前端模块化的最佳实践方式也都基本统一了。
- node 环境遵循 CommonJS 规范
- 浏览器环境遵循 ES Modules 规范 ES Modules 规范是 ES2015 定义的一个最新的模块系统,在最初刚推出的时候所有主流的浏览器基本上都是不支持这样一个特性的。但是随着 webpack 等一系列打包工具的流行,这一规范才逐渐开始被普及截止到目前 ES Modules 基本上可以说是最主流的前端模块化方案。相比于 AMD 这种社区提出来的开发规范,ES Modules 可以是说是在语言层面上实现了模块化,所以说它更为完善一些。另外现如今绝大多数的浏览器已经开始支持 ES Modules 这个特性了,原生支持也就意味着我们可以在以后直接去使用这样一个特性开发 web 应用。