我猜测流星强制执行命令启发式的用户而不是提供import
语义的话题已经被讨论过了。尽管如此,我认为至少应该有一种方法可以100%确定某一组脚本可以在其他任何事情之前运行。据我所知,由于加载顺序启发式优先于其他所有内容(即使在不同位置有多个lib
文件夹,由于某些原因,深度较大的文件夹会先运行),因此基本上无法确保某些脚本在所有其他内容之前执行,无论它有多深,除非将它放在一个包中。流星脚本确保在执行其他任何事情之前执行(在客户端)
这是正确的吗?在即将发布的版本中是否有什么可以补救的?
现在,我正在考虑写一个小load-order-util
包,至少是允许推迟回调的执行,直到startup
和一组给定的全局定义符号后都准备好了,就像这样:
Global.dependsOnSymbols = function(symbolNameOrNames, cb) { ... };
有更好的建议吗?
你在这个脚本中究竟想做什么?流星相关的操作或只是通用的JavaScript来初始化一些东西? –
@ ravish.hacker正如我刚才对第一个答案进行了评论,我有一大堆代码,其中一些代码非常依赖于其他文件夹中的其他代码,这些代码可能会或可能不会更深入本身。 – Domi