0.1.7 • Published 4 years ago
@quarkly/modules-box v0.1.7
ModulesBox
Модуль для сборки пользовательского приложения в браузере.
В основе модуля лежит библиотека requirejs.
const modulesBox = new ModulesBox(
{ requirejs },
{ pakages: [], transpiler: {}, globals: {} }
);
// загрузка модуля - вернет модуль с сохраненными зависимостями в замыкании
const moduleFn = await modulesBox.load({ code: "", name: "someName" });
// перезагрузка модуля - вернет список moduleFn тех модулей, которые нужно обновить
const listWithChangedModules = await modulesBox.reload({
code: "",
name: "someName"
});
// удаление модуля - вернет список moduleFn тех модулей, которые нужно обновить
const listWithChangedModules = await modulesBox.delete({ name: "someName" });
// строка для вставки в html-страницу
const stringToPasted = modulesBox.compileHtml();
// собрать зависимости и модули для обработки в VM
const contextToPasted = modulesBox.compileVm();
TODO возвращать модули при изменении от меньшего к большему