非组件脚本文件的执行顺序是什么样的

请问一下各位大神,非组件的脚本文件(不是挂在节点上的脚本)的执行顺序是什么样的呀?
比如说我A文件开头importB 那么执行顺序是先执行完B文件然后执行A文件吗,我用的是TS语言,还是说引擎的import导入只是起到一个指针的做用不进行执行,如果是进行了执行了我importB然后又没有用到B的东西,此时还会先执行B吗

首先所有模块(脚本)都会执行,不管它里面有没有声明组件。

其次,执行的顺序是字典序。

再次,执行的顺序是遵循 ES 模块规范的。

举个例子,当你有以下模块:

A.ts B.ts C.ts D.ts

它们会以 ABCD 的顺序一个一个执行,仿佛如同有一个汇总的模块:

import 'A';
import 'B';
import 'C';
import 'D';

但如果 A 依赖了 C,就会变成:

// 先加载 A
C // 但是发现 A 依赖了 C,需要先执行
A // C 执行完了,可以继续 A 的执行了
B // 一样,继续按照字典序
// 这里本来按照字典序要执行 C,但是 C 已经 执行过了,就跳过
D // 继续按字典序执行 D

大神牛的哇!

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。