На мой взгляд, есть три достаточно важных причины:
Вы можете создавать и повторно использовать модули, не загрязняя глобальное пространство имен. Чем более загрязнено ваше глобальное пространство имен, тем больше вероятность столкновения функции / переменной. Это означает, что вы определяете функцию с именем «foo», а другой разработчик определяет функцию «foo» = одна из функций перезаписывается.
Вы можете структурировать свой код в отдельные папки и файлы, и requirejs будет загружать их асинхронно, когда это необходимо, так что все просто работает.
Вы можете создавать для производства. RequireJS поставляется с собственным инструментом сборки под названием R.JS, который объединит и упростит ваши модули javascript в один (или несколько) пакетов. Это повысит скорость вашей страницы, так как пользователю придется делать меньше вызовов скриптов и загружать меньше контента (поскольку ваш JS утерян).
Вы можете взглянуть на этот простой демонстрационный проект: https://c9.io/peeter-tomberg/requirejs (в cloud9ide).
Чтобы собрать ваши модули в одно приложение, все, что вам нужно сделать, это установить пакет requirejs npm и выполнить команду: r.js -o build / build.properties.js
Если есть вопросы, задавайте их.
Изменить:
В процессе разработки размещение всех модулей в отдельных файлах - это просто хороший способ структурировать код и управлять им. Это также поможет вам в отладке (например, ошибка в «Module.js line 17» вместо «scripts.js line 5373»).
Для производства вы должны использовать инструмент сборки, чтобы объединить и преобразовать javascript в один файл. Это поможет быстрее загружать страницу, поскольку вы делаете меньше запросов. Каждый ваш запрос на загрузку замедляет вашу страницу. Чем медленнее ваша страница, тем меньше очков дает вам Google. Чем медленнее страница, тем больше разочаровываются ваши пользователи. Чем медленнее ваша страница, тем меньше у вас будет продаж.
Если вы хотите узнать больше о производительности веб-страниц, посетите http://developer.yahoo.com/performance/rules.html
person
Peeter
schedule
19.08.2012