繁体   English   中英

在sapui5中使用外部js库

[英]Using external js libraries in sapui5

因此,我试图在SAPUI5控制器中包含一个外部.js文件。

    jQuery.sap.includeScript("externalLibrary.min.js", 
    function() {
        //initalizing objects from library
    });

但是,一旦脚本被加载,就应该调用该回调,但是永远不会被调用。 它给我的错误信息是:

“ externalLibrary.min.js:16未捕获的TypeError:无法读取未定义的属性'Constructor'”

有什么其他方法可以做到这一点? 我一直在研究jQuery.sap.registerModulePath()和jQuery.sap.registerResourcePath(),但找不到使用它们的好例子,也找不到关于两者在线区别的解释。

非常感谢!

您可以尝试jQuery.sap.includeScript(vUrl, sId?, fnLoadCallback?, fnErrorCallback?)

https://sapui5.hana.ondemand.com/docs/api/symbols/jQuery.sap.html#.includeScript

在基于fiori launchpad的应用程序中,我们使用component.js作为root,因此我们没有index.html包含脚本(如果您使用XML视图代替HTML视图)。

尝试

jQuery.sap.includeScript({
    url: "https://maps.googleapis.com...",
    id: "IncludeGoogleMapsScript"
}).then(function() { ... })

在门户网站服务中不起作用,提供了回退: 在HCP Firori Launchpad中使用jQuery.sap.includeScript()。then()

您可以使用jQuery.sap.registerResourcePath('lib',URL),然后使用jquery.SAP.require('lib.file')。 您可以一个接一个地做,也可以在init中注册,以后再要求。 没关系。 我没有电话旁的例子,但是可以用。 您需要记住的是,此示例将加载URL / file.js之类的内容,因此您需要进行相应的调整。 您给lib的名称没有关系。 您也可以在当前页面中注入脚本标签,但是,require会同步加载外部库,而如果您注入脚本标签,则需要等到它被加载了回调。

PS:大写那些方法是不对的

得到它了! 为了将来参考,它可以像这样从索引html加载文件:

 <script src="library.js"></script>

主要问题是我试图包括也包含jQuery的外部依赖项。 因此,我不得不从文件中删除它,现在它可以工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM