Интегрируйте удаленный скрипт с 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 в окно! Каков наилучший способ экспортировать реализацию модуля в наше приложение?

Означает ли это, что я могу использовать только вывод динамически загруженных пакетов из глобального окна?

0 ответов

Другие вопросы по тегам