一、Javascript各种模块化规范
前端
发展到今天,已经有不少模块化的方案,
比如
- CommonJS(常用在服务器端,同步的,如nodejs)
- AMD(常用在浏览器端,异步的,如requirejs)(Asynchronous Module Definition)
- CMD(常用在浏览器端,异步的,如seajs)
- UMD(AMD&& CommonJS)
这些模块化规范的核心价值都是让 JavaScript 的模块化开发变得简单和自然。既然模块分为服务器端和浏览器端,那么他们有什么区别呢?
- 在服务器端,所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。
- 在浏览器端,所有的模块都放在服务器端,同步加载,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于"假死"状态。因此,浏览器端的模块,不能采用"同步加载"(synchronous)&#x