[英]Load all css and Js files starting with name main.*.css and main.*.js
[英]Meteor JS javascript files in main.* still don't load correctly. Best practices for load order?
在过去的两个星期中,我一直在构建Meteor项目,我希望那些曾经使用Meteor并在其中挣扎的人们对装载顺序有所思考。
采取以下模板:
http://bootstraptaste.com/free-one-page-bootstrap-template-amoeba/
所有重要的javascript文件都在index.html的底部引用。 如果您尝试将其移植到Meteor项目中,那么祝您好运,所有的效果和动画都可以正常工作,尤其是main.js
的效果和动画
简单地将脚本标签留在底部意味着大量的javascript和jQuery动画将无法工作,因为在Meteor中完全可以在完全加载DOM之前加载JS文件。 这打破了很多事情。
使用Meteor,任何名为main。*的文件都会在其他所有文件之后加载。
注意,这似乎仅意味着main。*在所有其他内容之后开始加载。 它没有说明文件何时完成加载。 main.js
的脚本仍然不起作用。
如果我将所有脚本标签放入它们自己的main.html
,然后将其作为模板附加到index.html
,则动画仍然无法正常工作。
我试过了
Template.layout.created = function(){$('head')。append(''); }
这也不起作用。
无论如何,还有其他人遇到流星这样的重大问题吗? 还有最佳实践或变通办法吗?
通常,您不想在Meteor中使用脚本标签。 只需将.js文件添加到您的项目中,它们就会自动加载。 标准做法是将jQuery插件等放在lib文件夹中。 流星首先将内容加载到lib文件夹中。
在Meteor中思考这些事情的方式与其他框架不同。 将skrollr.min.js等内容放入项目后,您可以在任何地方调用它。 如果您使用链接标记,则css同样适用。
至于在加载DOM之后要做的事情,您正在寻找
Template.myTemplate.rendered = function ( ) { ... }
第一次渲染DOM后,将调用一次。 .created在加载模板时发生,因此DOM尚不可用。
无需查看示例模板,您就可以进行过多的链接,似乎您希望将main.js中的登录名放入适当模板的呈现回调中。
因此,如果您尝试在实时演示中重新创建该页面,则将所有html放入模板中,在项目中拥有所有css和js资源,删除所有链接和脚本标签,并将main.js内容添加到渲染中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.