Подтвердить что ты не робот

Minifying RequireJS Javascript codebase в один файл

Я новичок в RequireJS, и, возможно, это уже обсуждаемая проблема, но я не мог найти ясного ответа или мнения об этом.

У меня есть приложение, работающее с RequireJS. В нем много файлов JavaScript, загружаемых Требованием, поскольку они необходимы. Работа как ожидалось.

В поисках инспектора Fiddler я мог видеть, что все файлы были загружены при запуске приложения. Я считаю, что Require сделал глубокий обход всех ссылок на файлы JavaScript и загрузил их все в начале.

Если это так, то я считаю, что было бы лучше создать один файл, его минимизировать и загрузить с помощью тега <script> html.

Если я сгенерирую один файл со всеми скриптами и предварительно загрузив их с помощью <script>, то RequireJS снова загрузит их?

Я что-то делаю неправильно?

В производственной среде может быть лучшим решением?

Спасибо заранее.

4b9b3361

Ответ 1

Что вам нужно, это Оптимизатор RequireJS.

Оптимизатор выполняет следующие действия (из документов):

  • Объединяет связанные скрипты вместе в строковые слои и минимизирует их с помощью UglifyJS (по умолчанию) или Closure Compiler (опция при использовании Java).
  • Оптимизирует CSS, вставляя файлы CSS, на которые ссылается @import и удаляет комментарии.

Здесь одна статья по теме для дальнейших ссылок.

Посмотрите также на r.js, инструмент командной строки, который включает оптимизатор. Используя r.js, вы можете создать оптимизированную сборку из файла приложения main.js с помощью только:

node r.js -o build.js

где build.js - файл конфигурации requirejs, содержащий ваш профиль сборки (baseUrl, paths и т.д.).