Интегрируйте удаленный скрипт с UMD Pattern в пакет веб-пакета во время выполнения
Я столкнулся с проблемой комплектации нашего приложения через веб-пакет. Приложение создает динамический импорт с удаленного хоста. Путь является динамическим и зависит от ответа сервера. И я могу загрузить его с загрузчиком скриптов.
Смотрите: https://github.com/webpack/webpack/issues/240
https://www.npmjs.com/package/scriptjs
динамический импорт:
const module = path + conf.Path + conf.FileName;
const $script = require("scriptjs");
$script(module, (myModule) => {
myModule.run()
});
Содержимое модуля обернуто в шаблон UMD, похожее на следующее:
(function(root, factory) {
if (typeof define === "function" && define.amd) {
define(["require", "exports", "jquery", "knockout"], factory);
} else if (typeof module === "object" && module.exports) {
module.exports = factory("require", "exports","jquery","knockout");
} else {
root.FSM = factory(null, null, $, window.ko);
}
}(this, function(require, exports, $, ko) {
/* module implementation */
return {
run: function() { / run implementation* */ }
}
}
Проблема:
Я загружаю UMD-модуль в пакет Webpack, и шаблон откроется, чтобы отобразить вывод lib в окно! Каков наилучший способ экспортировать реализацию модуля в наше приложение?
Означает ли это, что я могу использовать только вывод динамически загруженных пакетов из глобального окна?