下面的这几种就是js模块化中的常见方式:
1.IIFE(Immediately Invoked Function Expression)
优点: 通过匿名函数提供类似命名空间来执行代码, 避免变量全局污染;缺点: 绑定的事件如果是匿名函数,将不能解绑
```js
;(function() {
// do something...
})();
```
2.AMD require.js采用的模式
```js
define(‘a.js‘, function() {})
```
3.CMD sea.js中采用的模式
```js
var b = require(‘b.js‘)
```
4.UMD
5.ES module
```js
import ‘foo‘ from ‘foo‘
```
原文:https://www.cnblogs.com/moreisless/p/10493921.html