讨厌的加载顺序函数在/tools/packages.js 中定义。逐步进行如下对比:
- .html 文件在非 html 文件之前加载,
- 名为
main.* 的文件在所有其他文件之后加载,
- 在其路径中任何位置包含
lib 的文件将在不包含lib 的文件之前加载,
- 首先加载路径中包含更多段的文件,
- 文件按字母顺序加载。
列表中较高的规则优先于较低的规则,因此例如非主 .html 文件在非 html 主文件之前加载。在您的情况下,文件
b/file0.js
b/d/file3.js
c/file2.js
c/a/file1.js
首先被分成具有相同路径段数的组:
b/d/file3.js
c/a/file1.js
---
b/file0.js
c/file2.js
然后,在每个组中,整个路径按字母顺序排序。
让我们来看一个更复杂的例子:
x/lib/0.js
a/index.html
a/main.js
a/f.js
b/lib/echo.html
b/lib/main.js
k_2.js
k.js
c.js
lib/widget.html
d/e.js
首先,将文件分成.html和非html组,html文件放在最前面:
a/index.html
b/lib/echo.html
lib/widget.html
----------
x/lib/0.js
a/main.js
a/f.js
b/lib/main.js
k_2.js
k.js
c.js
d/e.js
然后,在两个组中,将 main. 文件放在最后:
a/index.html
b/lib/echo.html
lib/widget.html
----------
x/lib/0.js
a/f.js
k_2.js
k.js
c.js
d/e.js
-----
a/main.js
b/lib/main.js
现在,在每个创建的子组中,将路径中包含lib 的文件和不包含lib 的文件分开:
b/lib/echo.html
lib/widget.html
-----
a/index.html
----------
x/lib/0.js
-----
a/f.js
k_2.js
k.js
c.js
d/e.js
----------
b/lib/main.js
-----
a/main.js
在您现在拥有的组中,根据路径段数创建子组。
b/lib/echo.html
-----
lib/widget.html
----------
a/index.html
----------
x/lib/0.js
----------
a/f.js
d/e.js
-----
k_2.js
k.js
c.js
----------
b/lib/main.js
----------
a/main.js
在这些最后的组中,按字母顺序对完整路径进行排序:
b/lib/echo.html
-----
lib/widget.html
----------
a/index.html
----------
x/lib/0.js
----------
a/f.js
d/e.js
-----
c.js
k.js
k_2.js
----------
b/lib/main.js
----------
a/main.js
希望这会有所帮助。