Comments 18
А что плохого в том, что появится ещё один Open Source проект? Может, он перерастёт аналоги (если они есть).
0
Не понял при чём тут приведённая ссылка?
Кто Вам мешает на основе данной демы загрузчика сделать свой?
В Вашем собственном загрузчике скрипт может грузиться, например, в LocalStorage, и, если путь запрашивается ещё раз, доставать его оттуда.
Смысл был избавиться от лишних обёрток типа Define
+ Подменить Scope.
Кто Вам мешает на основе данной демы загрузчика сделать свой?
В Вашем собственном загрузчике скрипт может грузиться, например, в LocalStorage, и, если путь запрашивается ещё раз, доставать его оттуда.
Смысл был избавиться от лишних обёрток типа Define
+ Подменить Scope.
0
То, что я выложил, это всего лишь пример Именно загрузчика.
Какие обёртки синтаксического сахара на него наложить — ваше дело.
Я собираюсь в перспективе сделать именно LocalStorage хранилище, чтобы не грузить дважды.
+ указание базового URL для скриптов.
Но это в перспективе, сейчас мне и этой игрушки хватает вполне.
Какие обёртки синтаксического сахара на него наложить — ваше дело.
Я собираюсь в перспективе сделать именно LocalStorage хранилище, чтобы не грузить дважды.
+ указание базового URL для скриптов.
Но это в перспективе, сейчас мне и этой игрушки хватает вполне.
0
1. with statement deprecated
2. загрузка через xhr конечно привлекательна, но не актуальна на сегодняшний день, конечно если только не делать вариант с загрузчиком, который сможет работать в `legacy` режиме, но тогда опять же придётся оборачивать модули во что-то похожее на amd.
3. даже если использовать xhr и хранить в LocalStorage, то модулям желательно знать об их зависимостях, когда будем запускать их внутри песочницы, а это значит что нам опять нужно что-то похожее на amd.
2. загрузка через xhr конечно привлекательна, но не актуальна на сегодняшний день, конечно если только не делать вариант с загрузчиком, который сможет работать в `legacy` режиме, но тогда опять же придётся оборачивать модули во что-то похожее на amd.
3. даже если использовать xhr и хранить в LocalStorage, то модулям желательно знать об их зависимостях, когда будем запускать их внутри песочницы, а это значит что нам опять нужно что-то похожее на amd.
+1
И конечно же если рассматривается тема с кэширование в LS, то следует добавить ссылки на существующие эксперименты:
research.microsoft.com/apps/pubs/default.aspx?id=131524
github.com/addyosmani/basket.js
research.microsoft.com/apps/pubs/default.aspx?id=131524
github.com/addyosmani/basket.js
+1
Про кэширование опять же LMD, которое очень просто включается (2-3 опции в конфиге + замена script тега на lmd-загрузчик)
0
Вот ещё интересное решение с прозрачным кэшированием в LS: developers.google.com/speed/docs/mod_pagespeed/filter-local-storage-cache
0
Спасибо, про то, что with — deprecated я не знал.
0
Всё таки я не могу понять при чем тут ссылка на developers.google.com/closure/, которую можно добыть следуя Вашему комментарию.
0
Но все же интересно, есть ли альтернативы AJS, CJS, etcLMD из моей статьи, которую вы упомянули :)
LMD-модуль может быть 1-в-1 как Node.js
var $ = require('jQuery'),
Roster = require("b-roster");
new Roster($('body'));
В процессе все это дело (если нужно) становится вот таким:
(function (require, exports, module)
var $ = require('jQuery'),
Roster = require("b-roster");
new Roster($('body'));
})
А потом входит в сборку LMD-пакета (aka индексного файла), минимизируется, бла-бла-бла…
// Тут какой-то код LMD
{
"index.js": function (require, exports, module)
var $ = require('jQuery'),
Roster = require("b-roster");
new Roster($('body'));
},
"other_module.js": ...
}
// и тут немного кода
Живой пример сборки
Удаление шума из модулей — это только одна из задач LMD
0
Спасибо, теперь, наконец-то понятно.
Честно признаться, думал, что нашел что-то интересное, оказывается — нет.
Честно признаться, думал, что нашел что-то интересное, оказывается — нет.
0
Посмотрел более пристально на кол LMD, т.е. там уже используется XHR?
Если так, то смысла в этом топике нет вообще.
Если так, то смысла в этом топике нет вообще.
0
Для загрузки LMD-модулей с сервера — да.
На данной стадии LMD не патчит код с сервера — для этого нужен какой-либо парсер, который сможет отличить модуль, состоящий из одной FD/FE(который не нужно патчить) от модуль=код(нужно патчить), а это доп код для асинхронного загрузчика (добавлю в будущем, чтобы было меньше телодвижений для разработчика).
А так LMD умеет все, что и все лоадеры + свои штуки
На данной стадии LMD не патчит код с сервера — для этого нужен какой-либо парсер, который сможет отличить модуль, состоящий из одной FD/FE(который не нужно патчить) от модуль=код(нужно патчить), а это доп код для асинхронного загрузчика (добавлю в будущем, чтобы было меньше телодвижений для разработчика).
А так LMD умеет все, что и все лоадеры + свои штуки
0
Сделал MAIN UPDATE в начало топика, до хабраката.
0
Если интересно решение под node.js то node-browserify лучшее что может быть ИМХО
0
Sign up to leave a comment.
JavaScript loader без define