Comments 16
еще есть github.com/ded/script.js, асинхронная загрузка, очередь и всякое такое
Очень вовремя. Завтра же применю его в рабочем проекте: )
И предусмотрено всё, что бывает нужно в практических случаях.
И предусмотрено всё, что бывает нужно в практических случаях.
безмодульный синхронный загрузчиквы серьезно? И если да, то зачем?
Я серьезно.
Yepnope — асинхронный, это означает, что код в каждом файле мне пришлось бы обертывать в callback функции.
Но ведь синхронная загрузка означает совершенно ненужные задержки и подвисание браузера на время этой операции.
Вы видимо пост невнимательно прочли.
Возможно. Я просто так и не понял, почему проще написать свой велосипед, чем взять проверенное решение и обернуть пару десятков файлов в модули.
Мой загрузчик никак не тормозит рендеринг браузера: после того как браузер загрузил и выполнил код загрузчика он идет дальше обрабатывать документ, загрузка остальных скриптов идет асинхронно(не тормозя рендеринг). Если тегу script добавить атрибут async то и загрузка и выполнение кода загрузчика не будет томрозить рендеринг.
Синхронность про которую я говорю — это синхронность в работе скрипта: пока функция require не загрузит скрипты(если скрипт загружен кешем то повторно скрипт не загружается), дальше выполнение кода не пойдет.
Синхронность про которую я говорю — это синхронность в работе скрипта: пока функция require не загрузит скрипты(если скрипт загружен кешем то повторно скрипт не загружается), дальше выполнение кода не пойдет.
Вы бы хоть дали ссылку на демо.
Интересно же посмотреть, как браузер встанет раком при синхронной загрузке кучки скриптов, например jQuery и пары десятков плагинов к нему.
Вы достаточно элегантно решили проблему очередности загрузки скриптов — загружаете скрипты в цикле синхронно.
Интересно же посмотреть, как браузер встанет раком при синхронной загрузке кучки скриптов, например jQuery и пары десятков плагинов к нему.
Вы достаточно элегантно решили проблему очередности загрузки скриптов — загружаете скрипты в цикле синхронно.
Для себя сделал свой велосипед: gist.github.com/Rulexec/5719946
Правда это совсем не загрузчик, всё равно просто пихаю кучу script-тегов в head. Ну и лишние две строки в каждом файле в начале и конце. Впрочем, если взглянуть на node.js, оно там реализовано так же (например, если попытаться запустить что-нибудь инвалидное на первой строке можно получить:
В теории в среде node.js, а не браузера смогу определить глобальный Module и подпихивать туда настоящие module, exports, require и получить код, который и там и там работает. Да, я знаю, что уже есть такие решения, но не вижу проблем в своём. Потом можно будет просто склеить все подключенные скрипты в один и всё так же будет работать.
Правда это совсем не загрузчик, всё равно просто пихаю кучу script-тегов в head. Ну и лишние две строки в каждом файле в начале и конце. Впрочем, если взглянуть на node.js, оно там реализовано так же (например, если попытаться запустить что-нибудь инвалидное на первой строке можно получить:
<code>ruliov@ruliov-laptop:/tmp$ echo glitch > test.js ruliov@ruliov-laptop:/tmp$ node test.js /tmp/test.js:1 (function (exports, require, module, __filename, __dirname) { glitch</code>
В теории в среде node.js, а не браузера смогу определить глобальный Module и подпихивать туда настоящие module, exports, require и получить код, который и там и там работает. Да, я знаю, что уже есть такие решения, но не вижу проблем в своём. Потом можно будет просто склеить все подключенные скрипты в один и всё так же будет работать.
Sign up to leave a comment.
Еще один загрузчик скриптов для JavaScript