Использование Greensock с Meteor

Я продолжаю изучать Meteor, он постепенно складывается, и я создаю что-то отдельное от учебника. Я хотел включить некоторые дополнительные нефункциональные JS для анимации и т. д. и остановился на Greensock, поскольку я знаком с ним. Я включил CDN для TweenMax в тело моего main.html и вызывал его из помощника шаблона.

Основной.html:

<head>
<title>NO-TEA-FY</title>    
<link rel="stylesheet" href="css/noteafy.css" id="stylesheet">

Шаблон:

<template name="mainInit">
<div class="teaContainer">
    <h1 class="superJumboHeader">Tea</h1>
</div>

Template helper:

$(document).ready(function(){
    // If the user doesn't click on Tea within 3 seconds of arriving, shake the word
    setTimeout(function () {
        var teaCont = $(".teaContainer");
        TweenMax.to(teaCont, 1, {css:{"margin-top":"25%"}, ease:Power3.easeOut});
    }, 3000);
});

JQuery работает без ошибок, но я получаю:

Uncaught ReferenceError: TweenMax не определен.

Мне интересно, почему TweenMax нельзя найти, а JQuery можно?

Спасибо.


person Tortex    schedule 20.05.2014    source источник
comment
Где ссылка на CDN? Вы не показываете это в Main.html.   -  person Jay Blanchard    schedule 21.05.2014
comment
Хм, что-то случилось при оклейке - было. Однако сейчас проблема исправлена.   -  person Tortex    schedule 21.05.2014


Ответы (2)


Я попытался ответить на тот же вопрос на форуме GSAP: http://forums.greensock.com/topic/9575-using-greensock-with-meteor/#entry38773

Чтобы иметь возможность загружать GSAP из CDN, вам необходимо установить плагин Meteor под названием External File Loader.

Использовать:

mrt add external-file-loader 

для установки плагина.

Вот метод, который вам понадобится: Метод loadJs(url, callback, timeoutDelay) — загрузка внешнего JS из URL-адреса. Обратный вызов вызывается после загрузки URL-адреса. TimeoutDelay — задержка перед тайм-аутом в мс. Обратный вызов и timeoutDelay являются необязательными. Метод возвращает обещание jQuery. Если вы используете маршрутизатор Iron Router, лучше всего загрузить внешний скрипт в функцию waitOn(), чтобы убедиться, что он загружен до загрузки страницы. Если вы не используете Iron-Router, вы можете загрузить CDN GSAP с помощью внешнего загрузчика файлов в обратном вызове Template.created().

Template.Templatename.created = function() {
Meteor.Loader.loadJs("//cdnUrl");
}

Вы также можете загрузить несколько скриптов. Я лично создал локальный плагин GSAP для метеора, который я использую. Это потому, что у меня премиум-членство в Greensock. Я посмотрю, смогу ли я разместить бесплатную версию плагина GSAP на Github.

Я надеюсь, что это помогает,

Прани :)

person praneybehl    schedule 23.05.2014

Если вы хотите, чтобы дополнительные библиотеки были доступны для вашего приложения Meteor, их необходимо добавить в виде пакетов. В этом случае пакет GreenSock выглядит доступным через Atmosphere:

пакет Gsap

Вы захотите добавить его в свой проект через командную строку с помощью:

mrt добавить gsap

CDN в вашем main.html должен быть извлечен (это не сработает).

Причина, по которой jquery работает «из коробки», заключается в том, что он уже добавлен в ваше приложение в качестве стандартного пакета.

Вы можете прочитать больше о системе пакетов Meteor >здесь‹ и изучить дополнительные пакеты на Атмосфера.

person Jeremy S.    schedule 20.05.2014
comment
Ааа ок, это имеет смысл. В пакете, похоже, нет ни одного из плагинов, или, по крайней мере, они не работают. - person Tortex; 21.05.2014