RequireJS: проблема, связанная с JQuery-пакетом после оптимизации - PullRequest
3 голосов
/ 02 марта 2011

Я хочу включить пакет jquery easing в свое приложение. До того, как файлы requireJS были «оптимизированы», все работает нормально. Теперь я использую оптимизированную версию, когда я вызываю анимацию, которая использует замедление, я получаю эту ошибку:

«jQuery.easing [jQuery.easing.def] не является функцией» (firefox)

"Uncaught TypeError: свойство 'undefined' объекта # не является функцией" (chrome)


Я включаю свой JS так:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js"></script>
<script data-main="/js/mesh-built.js" src="/js/libs/require.js"></script>

Моя главная страница JS выглядит так: http://thebeer.co/js/built/mesh-built.js

require(["globals","functionBank"],function(gb,r){

//myapp code

});

глобал выглядит следующим образом:

http://thebeer.co/js/globals.js


и функциональный банк выглядит так:

http://thebeer.co/js/functionBank.js


Я думал только о том, что, поскольку jquery определен как зависимость внутри глобальных функций и функций, в которые он каким-то образом передается без прилагаемого пакета замедления? Должен ли я вместо этого подключить плагин замедления из основного файла requireJS?

забыли Эта проблема становится очевидной только после оптимизации сценариев с помощью requireJS ...

1 Ответ

3 голосов
/ 08 марта 2011

Кажется, что файл mesh-built.js содержит содержимое require.js.Лучше всего, если он не включает require.js (убедитесь, что includeRequire: true равно , а не , указанному в профиле сборки. Сначала я подумал, что это дублирующее требование вызывает проблему, возможно, оно неверноссылка на jQuery, и она используется для обработки файла built.js.

...