我猜Meteor强迫其用户执行命令启发式而不是提供import
语义的主题已经讨论过死亡。
尽管如此,我认为至少应该有一种方法可以100%确定某些脚本可以在其他所有脚本之前运行。据我所知,由于加载顺序启发式在其他所有方面都是深度优先的(即使你在不同的地方有多个lib
个文件夹,因此出于某种原因会先运行更深入的文件夹),基本上有没有办法确保某些脚本在其他所有脚本之前执行,无论它有多深,除非你把它放在一个包中。
这是对的吗?在即将发布的版本中是否有任何可以预期的情况可以解决?
现在,我正在考虑编写一个小load-order-util
包,它至少允许延迟执行回调,直到startup
并且在给定一组全局定义的符号准备好之后,如下所示:
Global.dependsOnSymbols = function(symbolNameOrNames, cb) { ... };
有更好的建议吗?
答案 0 :(得分:0)
你可以通过阅读来实现:
How do I change the order in which Meteor loads Javascript files?
和
In Meteor JS, how to control Javascript load order in relation to DOM load order? For animations
就像现在的情况一样,最好坚持框架本身提供的加载约定。
无论如何,upcoming 1.3 release应该最终解决提供ES2015模块支持的问题。