Javascript 导入模块并在同一html中的另一个脚本范围中使用它

Javascript 导入模块并在同一html中的另一个脚本范围中使用它,javascript,html,ecmascript-6,sapui5,ui5-tooling,Javascript,Html,Ecmascript 6,Sapui5,Ui5 Tooling,它可以很简单,但我找不到解决它的方法 我正在尝试导入一个模块,并在html的另一个脚本范围内使用它 index.html 从“./webapp/utils/customFonts.js”导入定义组件 sap.ui.getCore().attachInit(函数(){ sap.ui.require([ ],函数(){ 定义密码(jQuery); //其他代码 }); }); customFonts.js export default function defineCustomIcons(jQu

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

我正在尝试导入一个模块,并在html的另一个
脚本
范围内使用它

index.html


从“./webapp/utils/customFonts.js”导入定义组件
sap.ui.getCore().attachInit(函数(){
sap.ui.require([
],函数(){
定义密码(jQuery);
//其他代码
});
});
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,因为它无法运行。有什么方法可以做到这一点吗?

这种方法有效:

  • 将功能从模块保存到
    窗口
    对象
  • window.onload
    之后,该功能将全局可用
  • //文件module.js
    导出默认函数moduleApp(){
    log('这是moduleApp');
    }
    
    
    从“./module.js”导入moduleApp;
    window.moduleApp=moduleApp;
    window.onload=()=>{
    moduleApp();
    }
    
    为什么不使用sap.ui.require导入该函数?@JohannGoltz如何在index.html级别导入该函数?我发现我只能以这种方式从sap导入模块。您需要使用
    sap.ui.define
    customFonts.js
    中导出函数。有关在UI5中加载模块的详细信息,请参阅[文档]。
    <script type="module">
      import moduleApp from './module.js';
      window.moduleApp = moduleApp;
    </script>
    <script>
      window.onload = () => {
        moduleApp();
      }
    </script>