如何在流星中包含来自CDN的JavaScript?

jer*_*ico 21 meteor

在包含我自己的客户端脚本之前,我想在Meteor中包含来自CDN的 JS,以便客户端脚本可以依赖它.

...
<script type="text/javascript" src="https://ajax.googleapis.com/..."></script>
...
<script type="text/javascript" src="/client/..."></script>
...
Run Code Online (Sandbox Code Playgroud)

我尝试通过*.html文件和<head>标签之间包含脚本.但似乎来自*.html文件的标题内容将始终附加到HTML标题的末尾,无论我将其放在文件层次结构中的哪个位置(例如,将文件放在lib文件夹中或在客户端JS文件之前按字母顺序排序不会帮忙).

任何想法如何在客户端脚本之前从CDN包含JS 而无需构建智能包?

caz*_*zgp 10

假设您不需要在Meteor包之前加载这些文件,请创建一个在任何其他文件之前加载的JS文件.Meteor按字母顺序加载文件,因此它必须是第一个加载的文件.为此,命名它aaLoadCDN.js应该足够了.通过向script src文档添加元素来动态加载CDN脚本head:

var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');  // optional
script.setAttribute('src', 'url/to/the/cdn/script.js');
document.getElementsByTagName('head')[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud)

以下是从CDN加载脚本的一些真实世界的Meteor包:

  • 如果我需要在流星包之前首先加载外部javascript文件怎么办? (4认同)
  • 在这个答案中链接的博客文章中的解决方案的一个问题是它不允许您告诉脚本何时执行.由于Meteor项目通常会提供jQuery:$ .getScript可以更优雅地完成工作. (2认同)