前言:最近看到这样一个问题“「import ... from」、「 import ... = require()」 和 「import(path: string)」有什么区别? ”,我遇到的项目中大都是ES6模块规范,其余规范也有,但为何会有这些规范?具体有什么区别呢?javascript
在了解这些模块规范前,先了解JavaScript 语言的历史,颇有必要html
ES2015, CommonJS, AMD, CMD都是JS模块化的规范。java
CommonJS是服务器端js模块化的规范,NodeJS是这种规范的实现。浏览器
AMD(异步模块定义)和CMD(通用模块定义)都是浏览器端js模块化的规范。服务器
AMD 是 RequireJS 在推广过程当中对模块定义的规范化产出。异步
CMD 是 SeaJS 在推广过程当中对模块定义的规范化产出。模块化
ES6 在语言标准的层面上,实现了模块功能,并且实现得至关简单,彻底能够取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。ui
(ps:图片压缩得厉害,pdf下载连接: https://pan.baidu.com/s/1K6XY...
提取码: 94u7 )spa