在组件.js内加载客户 sapui5 库



根据这里的文档:

  • https://scn.sap.com/thread/3502503
  • http://jsbin.com/openui5-notepad-control-with-its-own-library-used-in-xmlview/1/edit?html,output

我使用以下文件构建以下文件夹结构:

    /
  • my/themes/sap_bluecrystal/library.css
  • /
  • 我的/图书馆.js
  • /
  • 我的/广场.js

现在我问我如何正确加载库(在组件.js内)。我尝试在组件中遵循.js

jQuery.sap.registerModulePath("my", "./my");

在某些观点中:

jQuery.sap.require("my.Square");
...
new my.Square({
 text : "Test",
 size : "200px"
})

总而言之,Square 控件似乎可用,但库.js和库.css根本没有加载。

知道如何做对吗?

在索引中使用引导 XML 代码.html如果应用程序在 Fiori Launchpad 中运行,则不起作用。

奖励问题:在 SAP 内部何处部署自定义库以供多个应用使用?一个想法(但也许这是错误的)是创建一个只包含库代码的 BSP 应用程序?

加载库的正确方法是(而不是jQuery.sap.require):

sap.ui.getCore().loadLibrary("my");

这将加载一个"library-preload.json"文件(如果可用),并且还包括主题资源。

请参阅 https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.core.Core.html#loadLibrary

我自己可以解决的第一个问题:取代

jQuery.sap.require("my.Square");

jQuery.sap.require("my.library");

第二个问题仍然悬而未决:)

最新更新