вопрос по require.js
В статье http://habrahabr.ru/post/145269/ про загрузку и инициализацию js были показаны различные попытки ускорить загрузку приложения на медленном интернете (7кб/c).
Например, сначала просто загрузили скрипты последовательно/параллельно, затем попытались сконкатенировать все и минифицировать, -> запросов стало меньше, скорость улучшили, затем решили использовать require.js, из статьи: Цитата:
Это случай, когда мне понятно, зачем использовать require.js. Но мне не совсем понятны преимущества его использования если мы, например, просто загружаем все скрипты сразу, и не используем асинхронную подгрузку по требованию(но нажатию на кнопку например), нам этого не надо. То есть "обычный" случай: Наши скрипты, подгружаются все сразу <script src="dep-for-module-A.js"></script> <script src="dep2-for-module-A.js"></script> <script src="moduleA.js"></script> <script src="dep-for-module-B.js"></script> <script src="dep2-for-module-B.js"></script> <script src="module-B.js"></script> <script src="main.js"></script> Мы не можем здесь разместить модуль A над модулем dep-for-module-A, из за зависимостей, поэтому порядок нужно соблюдать. Сами модули что-то вроде этого: ( function( global ) { var dep1 = global.depA1; var dep2 = global.depA2; function ModuleA() { // ... } // export global.ModuleA = ModuleA; })( this ); Ну и соответственно в продакшне мы это все конкатенируем-минифицируем, в девелопменте оставляем как есть. Для чего в таком случае(когда нет подгрузки скриптов по требованию) использовать require.js, и нужно ли? 1. Как я понял одна из причин - когда js файлов становится слишком много, чтобы не париться и не следить какой расположить выше другого. 2.Второе - не засоряется глобальное пространство имен (Require.js вроде как способствует этому). 3.Вроде как хороший встроенный оптимизатор для склейки/минификации файлов. |
Ну в первую очередь - это очередная попытка решить проблему модулей. В связи с добавлением нативных модулей в JS данная технология скорее всего станет использоваться лишь в качестве полифилов.
|
Цитата:
Цитата:
Цитата:
Лично я в последнее время пишу: а) либо с применением фреймворка ангуляр, кот. сам подгружает шаблоны б) либо на чистом js специфич. проекты, где использую свой синхронный загрузчик проекта Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
require.js - говно
размазывать загрузку скиптов ради пары килобай - глупость |
Часовой пояс GMT +3, время: 19:11. |