Использовать RequireJS или воспользоваться другим сборщиком?

Занимаюсь разработкой одного проекта, в качестве фреймворка был выбран Marionette JS, так как разработка подходит уже к заключительному этапу, вопрос о сборке проекта стал очень остро.
Первым мои решением было использовать Grunt для сборки всех JS файлов, темплейты бы загружались AJAX-м по необходимости.
Потом начал смотреть в сторону RequireJS, по началу решение показалось оптимальным, но сразу же появились трубдности:
1.Если использовать в чистом виде, с подгрузкой каждого файла отдельно, то загрузка приложения резко замедляется (файлы загружаются не совсем параллельно) + загрузку тормозит подгрузка темплейтов.
2.Если использовать встроенный оптимизатор r.js, то сборка проекта со всеми темплейтами может перевалить за 500Кб, а в будущем наверно еще больше.

Теперь сам вопрос:
В приложении 8-10 независимый модулей, при том что разные модули доступны разным пользователям. Как бы мне хотелось бы все организовать:
1.Создать один минимифицированный файл в который собрать все библиотеки и общие файлы.
2.Создать отдельные файлы для каждого модуля, в которые также включать темплейты.
3.Загружать эти файлы по мере вызовать модуля.
Подскажите как это все организовать и что использовать.

Также думаю посмотреть в сторону LMD.

Заранее большое спасибо.
  • Вопрос задан
  • 2419 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
400Кб пожмуться gzip-ом и будет еще меньше. Если нет заточки под мобилки, то может и не стоит переживать?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
aen
@aen
Keep calm and 'use strict';
Попробуйте грузить шаблоны на мастерпейдже. Тогда на момент старта js у вас уже будут все шаблоны. У вас явно есть какие-то тяжелые библиотеки. Например, jquery. Их можно не собирать, а грузить с CDN.

Далее, раз у вас есть 8-10 модулей, то лучше соберите их отдельно друг от друга.
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Странно, у меня наоборот все очень быстро грузится в несобранном виде, хотя более 150 модулей. Сборка да, довольно долгая, но она делается в фоне. Может, у вас сервер умеет отдавать только по одному файлу?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы