一、为什么需要模块化
客户端需要完成的事情越来越多,代码量也是与日俱增。 为了应对代码量的剧增,我们通常会将代码组织在多个js文件中,进行维护。 但是这种维护方式,依然不能避免一些灾难性的问题。
比如小明和小丽在不同的JS文件中都定义了flag变量名称,但是布尔值却不同
小明在页面中运行的时候发现布尔值和自己初始设置的不一样
那这个时候我们可能会使用我们闭包的函数思想去解决这个问题。
但是闭包解决了变量的重名问题却大大降低了我们代码的可复用性
如果我们希望在main.js文件中,用到flag,应该如何处理呢? 显然,另外一个文件中不容易使用,因为flag是一个局部变量
解决方案:
使用模块作为出口:我们可以使用将需要暴露到外面的变量,使用一个模块作为出口