Существуют некоторые службы (например, такие как FB или AddThis), которые предоставляют фрагмент кода. Он выглядит как
<div class="service-name" data-something="x"></div>
<script type="text/javascript" src="http://service-domain.com/service-name.js"></script>
ОК, круто, так что обычно вы вставляете его в свой HTML, и он работает. Не с Метеор.
Вот что я вижу:
-
<script>
внутри шаблона/тела не загружается - я не вижу его в ресурсах, что-то в Метеор фактически не позволяет браузеру распознавать его как файл JS - работает от
<head>
Теперь вот проблемы и вопросы:
- Я не хочу загружать его из
<head>
- из-за скорости - Даже если я загружу его оттуда - у нас есть среды QA и PROD. Они должны загружать этот script из разных доменов (например, service-domain-qa.com vs. service-domain.com).
И удивительно, что не может использовать помощники/переменные шаблона в <head>
.
С традиционными фреймворками это не вопрос - вы можете включать скрипты где угодно, и они просто загружаются; вы можете использовать логику/переменные в любой части ваших серверных шаблонов.
Итак, как мне это сделать в Метеор? Позвольте мне повторить:
- Мне нужно, чтобы на мою страницу приложения были загружены внешние скрипты (размещенные на стороннем домене).
- Сохранение этого script в моей папке проекта не опция
- Script путь зависит от среды (у нас уже есть система настроек), поэтому место шаблона, которое его отображает, должно быть передано некоторыми данными из кода
Я знаю способ достижения этой цели с динамической загрузкой script из моего кода (с помощью LAB.js или что-то еще) на Template.created, но это настолько перебор...