Почему я должен использовать require.js, если я все еще конкатенирую все файлы в сборке? - программирование
Подтвердить что ты не робот

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

Конечно, имеет смысл писать модульный, независимый тестируемый код - особенно для больших проектов.

Но какая разница заключается в использовании require.js/amd в большом проекте, где мне еще нужно сконфигурировать и минимизировать мой проект при сборке?

4b9b3361

Ответ 1

Я хотел бы предисловие к моему ответу, сказав, что я думаю, что Require.JS - совершенно бесполезная структура. Это чрезмерно усложняет довольно простую концепцию.

При этом загрузка зависимостей ОЧЕНЬ полезна, когда дело касается написания независимого от платформы кода.

Например, скажем, вы хотели разработать веб-приложение, которое вы также можете перенести в Apache Cordova для мобильных приложений и в AppJS для настольных приложений. Вы не хотели бы переписывать всю свою бизнес-логику, поэтому имеет смысл создать загрузочный лоток, который динамически загружает зависимости, чтобы адаптировать программное обеспечение к нескольким архитектурам. Таким образом, у вас есть только один продукт, который может работать на разных платформах. Добавьте в использование NodeJS для серверной стороны script, и вы можете не только писать программное обеспечение для конечных пользователей, но и обратно с тем же кодом.

Модульность много помогает в кросс-платформенных проектах, но, как я сказал: Require.JS действительно не так полезен. Я обнаружил, что это слишком сложно. Вместо этого я просто использую объект, построенный вокруг функции jQuery getScript, которая содержит реестр всех загруженных пакетов, чтобы разработчик не пытался загрузить пакет, который уже был загружен (более крупные проекты).

Ответ 2

Для require.js существует ряд преимуществ, таких как:

  • Условная загрузка
  • Асинхронная загрузка
  • Логические модули
  • Абстракция вложенных зависимостей
  • Поддержка многопотоков
  • Автоматическая минификация

Ответ 3

Require.js рекомендует использовать один (или более, если это то, что подходит вашему проекту) JS файл для вашего JavaScript, поэтому то, что вы делаете, является общим для небольших проектов. Я думаю, что есть две основные причины для небольших проектов, которые вы будете использовать (@Wolfgang Stengel перечисляет все преимущества).

Если вы комбинируете jQuery или другие библиотеки в вашем JS файле, это может быть некорректно. Если вы можете использовать копию CDN, скорее всего, у пользователя уже будет этот файл, загруженный на их машине, что займет меньше времени для загрузки вашего JavaScript.

Другим преимуществом является асинхронная загрузка. Это сделает так, чтобы ваша загрузка JavaScript не блокировала показ вашей веб-страницы. Веб-страница, которая появляется быстрее, как правило, считается более быстрым сайтом для конечного пользователя.