在过去的两周里,我一直在构建一个 Meteor 项目,我想从使用过 Meteor 并与之斗争的人那里得到一些关于加载顺序的想法。
拿这个模板:
http://bootstraptaste.com/free-one-page-bootstrap-template-amoeba/
所有重要的 javascript 文件都在 index.html 的底部引用。如果您尝试将其移植到 Meteor 项目中,祝所有效果和动画都能正常工作,尤其是在main.js
简单地将脚本标签留在底部意味着大量的 javascript 和 jQuery 动画将无法工作,因为在 Meteor 中,JS 文件完全有可能在 DOM 完全加载之前加载。这打破了很多东西。
使用 Meteor,任何名为 main.* 的文件都将在其他所有文件之后加载。
请注意,这似乎仅意味着 main.*在其他所有内容之后开始加载。它没有说明文件何时完成加载。里面的脚本main.js
仍然不起作用。
如果我将所有脚本标签放入它们自己的标签中main.html
,然后将其index.html
作为模板附加,动画仍然不起作用。
我试过了
Template.layout.created = function() { $('head').append(''); }
这也不起作用。
- 使用 Meteor.startup( func ) 非常不可靠,因为即使“在客户端上,只要 DOM 准备好,该函数就会运行”,Meteor 对“DOM 准备好”的定义不等于“在 DOM 中的所有内容都加载后”。 " 因此,在 DOM 未完全加载后,该函数仍然可以运行。
无论如何,还有其他人对 Meteor 有这样的重大问题吗?以及任何最佳实践或解决方法?