Theme 组件的 j/s 执行顺序由什么控制?

名称不影响执行顺序。@merefield 您链接的行会影响它们在管理员 UI 中的显示方式,但并不用于实际执行。

这是与执行顺序相关的行:

因此,它们将按数据库中“id”的升序执行。

在 Discourse 实例之间可移植的唯一保证是,主题代码始终在主题组件代码之前执行。

正如 @Johani 在上面提到的,如果您需要在使用其他组件加载后运行代码,最好的方法可能是使用 Ember initializer,它支持排序。不幸的是,在这种情况下,这可能无法立即实现,因为 DiscoTOC 似乎没有使用 Ember initializer。将 DiscoTOC 更新为使用多文件 JavaScript(因此是 Ember initializer)当然是 #pr-welcome。

3 个赞