Типичная инструкция по миграции существующего проекта на RequireJS выглядит так: "1. Снесите все гавно что вы там нахреначили в своих скрипт-тагах; 2. скачайте require.js и дайте на него ссылку. 3. переделайте все свои файлы в синтаксис модулей и пропишите зависимости; 4. закоммитьте; 5. деплойте на продакшен". Агащасбля.
короче, сейчас в Мокуме есть unholy порождение из а) rails assets pipeline; б) require.js; в) интеграции require.js c чем-то типа assets pipeline (судя по хэшированым именам); г) полутора десятков глобальных переменных и функций в <script>-тэгах в HTML; д) парочки мигрировавших скриптов, которые все делают уже по-новому; е) нескольких хаков, возникших из чтения RequireJS API между строк (а также темных углов его). ‎- псы в рапиде
целью является тотальный RequireJS и, похоже, выпиливание Rails assets pipeline. Интегратор рельсов и require.js (https://github.com/jwhitley/requirejs-rails/) зовет для оптимизации r.js. ‎- псы в рапиде
Сейчас jQuery используется как глобально, так и модульно. Внутри jQuery есть хаки, которые полупрозрачно поддерживают вызов из разных сред. require.js также отдельно магически поддерживает jquery. Видимо, эта магия конфликтует друг с другом в контексте моего кода. Есть прекрасная инструкция: http://requirejs.org/docs/jquery.html#noconflictmap, она работает, пока не перестает. Чтобы она работала полностью, я сегодня утром спросонья придумал комплементарную часть хака: ‎- псы в рапиде
теперь в глобальных <script>-тэгах внутри <head> подгружается копия jQuery, которая хранится в файле jquery-global.js. От этого у require.js и у интегратора отключается магия, связанная с именами файлов, и все работает. <хрю-хрю!> ‎- псы в рапиде

2015-2016 Mokum.place