1

它可以很简单,但我找不到解决它的方法。

我正在尝试导入一个模块并在另一个scripthtml 范围内使用它。

索引.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>因为它无法运行。有什么办法可以做到这一点?

4

1 回答 1

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>
于 2020-05-11T16:07:46.563 回答