Оптимизация (объединение и минимизация) RequireJS проектов
Поправьте меня, если я ошибаюсь, но мне кажется, что RequireJS Projects можно минимизировать только с помощью r.js? Если существуют другие инструменты, то как эти инструменты будут обрабатывать зависимости, подобные этой: require(['views/app'], function(AppView) { new AppView; });
1 ответ
RequireJS выполняет две широкие задачи: упаковка серии модулей и их минимизация.
"Упаковка" здесь означает размещение модулей для развертывания. Это может означать создание одного пакета, содержащего все модули, двух пакетов, содержащих два разных набора модулей, произвольное количество пакетов или сохранение всех модулей в виде отдельных файлов.
Задача упаковки часто требует знания зависимостей между модулями и того, как работает RequireJS. Можно было бы использовать что-то еще, чем
r.js
чтобы выполнить эту задачу, но в конце концов инструмент, который понимает зависимости, в конечном итоге будет реплицироватьсяr.js
Алгоритмы. Так что вы могли бы просто использоватьr.js
,Внутренне
r.js
использует сторонние библиотеки для выполнения работ по минификации. Так что можно было бы использоватьr.js
упаковать модули, а затем запустить минификатор для минимизации полученных файлов. Однажды я сделал это, чтобы отыскать неуловимую ошибку. Мои воспоминания могут быть нечеткими, но я помню следующие важные настройки:optimize: "none"
skipDirOptimize: true
normalizeDirDefines: "all"