Using external js libraries in sapui5

Using external js libraries in sapui5

本文关键字:in sapui5 libraries js external Using      更新时间:2024-07-01

所以我试图在SAPUI5控制器中插入一个外部.js文件。

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

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

"externalLibrary.min.js:16未捕获类型错误:无法读取属性未定义""的"构造函数"

我还有什么办法可以做到这一点?我研究了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

在基于fiorilaunchpad的应用程序中,我们使用component.js作为根,因此我们没有index.html来包含脚本(如果您使用html视图的XML视图instand)。

尝试

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.request('lib.file')。您可以一个接一个地执行这两项操作,也可以在init中注册,然后再进行require。没关系。我手头没有一个例子,因为我正在打电话,但它很有效。您需要记住的是,这个示例会加载类似URL/file.js的内容,因此您需要相应地进行调整。你给库起的名字无关紧要。您也可以将脚本标记注入到当前页面中,但是,require将同步加载外部lib,而如果您注入脚本标记,则需要等待它被回调加载。

PS:这些方法的资本化是不对的

明白了!为了将来参考,它可以从索引html加载文件,比如:

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

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