将外部脚本合并到Meteor中

问题描述 投票:3回答:1

我正在将一个外部主题整合到Meteor中。它有一些脚本加载在body标签的最后。这个 <script> 标签在 <body> 的Meteor模板。

该主题使用的js像Bootstrap,jquery,和其他各种可能的外部JS库(它也把在最后,前 </body>. 最后一个剧本是这样的 custom.js 脚本,这是这个主题专用的脚本。脚本里面除了常规函数语句外,还有两个匿名函数,两个 if 块在顶层,一个 $(document).ready 回调和一个 $(window).load 回调。

有什么办法可以让加载的脚本脾气最小?我试着把所有的脚本都移动到了 <head> 的流星模板。但是缺少一些效果。我想可能是 $(window).load 是没有得到正确的时间调用。所以我在里面调用它 Template.scriptAppend.rendered 其中 scriptAppend 是一个模板,是在 </body>. 我还移动了两个匿名函数和两个 if 块内 $(window).load. 可以用,但太麻烦了。有没有办法让脚本保持原样?

在这些之前,我最初只是觉得我会用jQuery来添加的。<script> 标签内页 Template.scriptAppend.rendered 但似乎没有效果,我也不知道为什么。

所以我的问题是,(1)有没有办法让脚本保持原样,(2)什么时候才是Meteor <head> 反正被处理了?显然 $(window).load 没有在脚本所期望的正确时间执行。

javascript meteor
1个回答
1
投票

有时 Meteor 加载文件的顺序与一般的 web 服务器不同,这意味着你的函数不会像你习惯的那样加载。将外部脚本包含在头部就好了,但是你应该尝试将所有通常会进入的东西放在 $(document).ready() 内功 Template.templatename.rendered 函数来代替。在过去,这对我来说是个好办法。

© www.soinside.com 2019 - 2024. All rights reserved.