Привет, Хабр!
Недавно сложившиеся ситуации подтолкнули меня на поиски простого и небольшого, по размерам, загрузчика ресурсов. Но все мои поиски приводили к require.js, который меня по некоторым причинам не устраивает (это тема для отдельной статьи).
Поэтому было принято решение написать свой велосипед и заодно попрактиковаться.
В итоге был реализован компонент, который занимает 6.28 Кб в uglify'цированном виде и 1.3 Кб в GZip.
Его ключевые «фишки»:
- Может загружать как *.js, так и *.css.
- Реализована пакетная система. У каждого пакета может быть отдельная конфигурация.
- Загрузка происходит пакетами. То есть достаточно вызвать метод load() у нужного пакета и он загрузит все файлы, которые в нем находятся.
- Может загружать как асинхронно, так и в режиме Lazy Loading (загрузка пакета осуществляется только после загрузки всей страницы).
- Есть встроенный менеджер пакетов, который упрощает базовые операции с пакетами. А именно: хранение, создание, удаление, загрузка.
- Реализованы namespace'ы (на самом деле, реализация очень простая и для небольших проектов это плюс).
Вот, собственно, описание его главных особенностей.
Под катом небольшой курс использования AJL и описание разработки некоторых составляющих.
Читать полностью »