модуль импорта и использовать его в другой области сценария в том же HTML

Это может быть так просто, но я не мог найти способ решить эту проблему.

Я пытаюсь импортировать модуль и использовать его в другом script объем HTML.

index.html

<script type="module">
   import defineCustomIcons from './webapp/utils/customFonts.js'
</script>
<script>
    sap.ui.getCore().attachInit(function () {
        sap.ui.require([
        ], function () {
            defineCustomIcons(jQuery);
            // some other code
        });
    });
</script>

customFonts.js

export default function defineCustomIcons(jQuery) {
  jQuery.sap.require('sap.ui.core.IconPool');
  sap.ui.core.IconPool.addIcon('sort_icon', 'customfont', 'icomoon', 'e900');
}

К сожалению, я не могу использовать все js в одном <script>поскольку тогда он не запускается. Как это можно сделать?

1 ответ

Это работает:

  1. Сохраните функцию из модуля в window объект
  2. После window.onload, функция будет доступна глобально.
//file module.js
export default function moduleApp () {
  console.log('this is moduleApp');
}
<script type="module">
  import moduleApp from './module.js';
  window.moduleApp = moduleApp;
</script>
<script>
  window.onload = () => {
    moduleApp();
  }
</script>
Другие вопросы по тегам