1、加载器配置

1.1、data-config

指定的是模块加载器的配置文件的URL,使用data-config属性在模块加载器的script标签上描述。

img.png

如上图,表示模块加载器的配置文件与模块加载器在同级目录(data-config的路径是相对于模块加载器的),即/static/js/libs/coolie-config.js。在浏览器里:

img.png

1.2、base配置

base 指的是模块的模块入口的基准URL。假设你的模块分布是这样的:

img.png

文件层级关系是这样的:

- js
|-- alien
|-- app 模块入口目录
|-- libs
|    |-- coolie.min.js 模块加载器
|    `-- coolie-config.js 模块加载配置
`-- ...

如上的层级关系,又因为base是相对于模块配置文件(即data-config的路径)的,因此base值为../app/

1.3、data-main

如上,入口模块的地址就这么写了:

img.png

如上图,模块入口文件是相对base属性的,因此,该入口模块的实际URL为,模块加载器配置文件的路径 + base路径 + 入口模块路径,即/static/js/libs/coolie-config.js + ../app/ + ./front/home.js,结果为/static/js/app/front/home.js。 最后在浏览器上的加载情况如下:

img.png

  1. 加载配置文件
  2. 加载入口模块
  3. 依次加载依赖模块

1.4、use方法

  • 为什么增加一个use方法?
  • 配置只是确定了各个模块的引用关系,但不会执行。执行了use方法,表示执行该入口模块。

因此最后的配置是:

coolie.config({
    base: '../app/'
}).use();

是不是非常的简单?

2、注意点

  • 一个文件最多只允许一个模块
  • 模块必须是一个单独的文件,即不能把模块写在页面上
  • 不能出现循环依赖(引用)