Я знаю, о чем вы все думаете: не может ли он просто использовать все 3? Да, я мог бы, но мой вопрос таков: не компенсируют ли они друг друга?
тл;др
- Делает ли пакетирование RequireJS устаревшим?
- Делает ли объединение CDN устаревшим?
- Если мне нужно сделать выбор между связкой или RequireJS+CDN, как мне определить, что использовать? Лучше всего использовать общие файлы CDN и объединять необычные? Как насчет файлов SPA?
Длинная версия
Например, мы объединяем файлы для меньшего количества HTTP-запросов. В то время как RequireJS используется для того, чтобы файлы можно было загружать динамически и асинхронно по мере необходимости.
Итак, если мы объединим все наши JS-файлы в один, нужен ли RequireJS?
Кроме того, мы используем CDN, чтобы браузер мог получить доступ к кешированной версии, поэтому, если пользователь посещает 5 веб-сайтов, все из которых используют популярную CDN jQuery, т. е. http://cdn.com/jquery.min.js — браузеру фактически не нужно делать HTTP-запросы для этого файла на последних 4 сайтах, что намного быстрее, чем этот файл становится связанным. Если бы вместо этого каждый из этих сайтов обращался к уникальному связанному файлу из CDN — в соответствии с их потребностями — шансы «попадания» кеша стали бы намного ниже. И, поскольку вероятность «попадания» ниже, файл с меньшей вероятностью будет кэширован даже для людей, использующих этот сайт.
Помогает ли пакетный файл даже в CDN?