# 模块化编程

不管会不会，这些概念都得知道。

1. **Commonjs 是同步加载的，**
2. Es模块，Amd, Cmd 是异步加载的。

为什么会这样？ 因为，只有Commonjs 是用于服务端加载的，服务端加载文件是读的本地的磁盘，不需要请求网络资源，这样就会只有前面的环境加载完成，才能执行后面的操作。

然而对于浏览器来说，加载资源都是网络请求，同步加载时，就不能干别的操作，万一加载不成功，就停在那了。所以得是异步的加载方式。
