Javascript 导入模块并在同一html中的另一个脚本范围中使用它
它可以很简单,但我找不到解决它的方法 我正在尝试导入一个模块,并在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
脚本范围内使用它
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>