У меня есть проект, в котором пользователи могут написать модуль JavaScript, и он сохраняется в своей базе данных. Ссылка на модуль осуществляется через файл JSON. Существует SDK, который загружает файл JSON, динамически импортирует модуль по URL и выполняет экспортированную функцию из модуля. Я использую System JS для динамического импорта c.
Есть ли способ импортировать модули из SDK из динамически импортируемого кода? SDK содержит библиотечный код для таких вещей, как ведение журнала, который я хочу использовать в импортированном коде.
SDK делает что-то вроде этого:
const block = await SystemJs.import(module);
const values = await block.default.process();
Внутри модуля я бы хотел бы сделать что-то вроде этого:
import log from "Logging" // where Logging is something in the SDK
export default function process() {
log.debug('testing imports');
}
Я использую веб-пакет для комплектации SDK. Я провел несколько тестов с использованием веб-пакета для связывания кода модуля и импорта с помощью System JS, насколько я могу судить, эта часть работает, как и ожидалось.
Мой план резервного копирования заключается в вызове функции process()
с объект, который содержит ссылки на различные части SDK, которые я хочу импортировать.