有一些服务(如 FB like 或 AddThis)提供了一段代码。看起来像
<div class="service-name" data-something="x"></div>
<script type="text/javascript" src="http://service-domain.com/service-name.js"></script>
好的,很酷,所以通常你将它粘贴到你的 HTML 中,它就可以工作了。不与流星。
这是我所看到的:
<script>
模板/正文内部未加载- 我在资源中没有看到它,Meteor 中的某些内容实际上阻止浏览器将其识别为 JS 文件- 它从
<head>
现在这里是问题和问题:
- 我不想从
<head>
- 因为速度加载它 - 即使我从那里加载它——我们有 QA 和 PROD 环境。他们必须从不同的域加载这个脚本(比如 service-domain-qa.com 与 service-domain.com)
令人惊讶的是,您不能在<head>
.
使用传统框架,这根本不是问题——你可以在任何地方包含脚本,它们只是加载;您可以在服务器模板的任何部分使用逻辑/变量。
那么,我应该如何在 Meteor 中做到这一点?让我重复一遍:
- 我需要将一些外部脚本(托管在第 3 方域上)加载到我的应用程序页面中
- 无法将此脚本保存到我的项目文件夹中
- 脚本路径取决于环境(我们已经有了设置系统),所以渲染它的模板的位置应该从代码中传递一些数据
我知道通过在 Template.created 上从我的代码(使用 LAB.js 或其他任何东西)加载动态脚本来实现这一点的方法,但这太过分了......