Кроссбраузерная библиотека зависимостей (js, css)?
Привет.
Я долгое время использовал немного допиленный plugin для jQuery $.include, чтобы управлять зависимостями и подгрузкой необходимых скриптов/стилей из файла инициализации пока не понял, что он весьма странно ведет себя в IE(и в 9 версии тоже) — callback иногда вызывается три раза, файлы могут быть недогружены, странные неуловимые ошибки. Соответственно сделана куча хаков, при которых все вроде работает, но как-то неустойчиво и на костылях.
Есть ли аналог этого расширения, которое точно работает нормально во всех современных(и чуток древних) браузерах? Я совсем непривередлив — callback на окончание загрузки script или link и порядок импорта.
Как написали выше, requireJS — отличный вариант. От себя добавлю, что выбор скрипта, выполняющего роль script loader'а не столь важна, как сам используемый подход к управлению зависимостями/модульности (тот же requireJS можно использовать с несколькими подходами). Это может быть AMD (Asynchronous Module Definition) или CommonJS или UMD. Стоит также упомянуть о том, что в спецификации ES harmony уже есть модули и module loader'ы. Мой фаворит для применения в вебе — AMD, о чем и другие говорят. Система плагинов AMD, кстати, позволит вам загружать стили и любые другие ресурсы.
PS: сложно меня фронтендером назвать, но порою приходится и этим заниматься, тем более, что приложение простое и еще и верстальщика гнать было бы нерационально.