女孩一

使用立即执行的匿名函数隔离模块,没有定义模块依赖关系的语法。模块之间通过定义在全局 作用域中的命名空间相互访问。在页面中,通过按依赖关系排列的 多个script 标签加载模块。在生产环境中一般会合并所有模块到一个 文件中。

女孩二

传统模式的最大问题是没有可以定义多文件之前依赖关系的语法,这 样就很难确定需要哪些文件以及这些文件以什么样的顺序去执行。

女孩三

外部定义依赖关系。这种模式同样使用立即执行的匿名函数隔离模块, 但加载方式和生成依赖关系图的方式不同。我们可以在一个单独文件 内定义文件之前的依赖关系,比如在一个 package 中包含一个配置 文件定义 package 内所有文件的依赖关系:

女孩四

外部定义依赖关系。这种模式同样使用立即执行的匿名函数隔离模块, 但加载方式和生成依赖关系图的方式不同。我们可以在一个单独文件 内定义文件之前的依赖关系,比如在一个 package 中包含一个配置 文件定义 package 内所有文件的依赖关系: