大家好,云服务器吧,
在这篇博文中,我将尝试演示使用MTA归档并将其部署到SAP云平台(SCP)中的cloud foundry环境中的组件重用。这将通过三种不同的方式完成:
如果您在neo环境中工作,什么是云,物联网+,您可以查看这个伟大的博客,它揭示了SAPUI5中组件重用的艺术
I)在不同的MTA存档中部署childUIApp和parentUIApp作为一个模块,并使用目标服务。
1–我们将在SAP中创建一个多目标应用程序Web IDE.
ctrl+alt+shift+o(模板中的项目)->选择cloudFoundry环境->多目标应用程序->项目名称"FirstMTA"->完成
2–我们将创建名为MyChildApp的第一个模块
右键单击MTA项目->新建->HTML5模块->选择SAPUI5应用程序->在下面的图片->将视图重命名为"ChildView"。
3–我们将从中删除需求和资源mta.yaml公司,那么我们将在xs中禁用身份验证检查-应用程序.json(将route替换为none)。
4–我们将通过创建一个MTA项目FirstParentMTA,然后创建一个名为:MyParentApp的HTML5模块和命名空间:sap.cf.parentComponent组件并将视图重命名为ParentView。我们将在xs中更改身份验证检查-应用程序.json没有人喜欢这个孩子。
5–构建MTA并将每个模块部署到您喜欢的空间中的CloudFoundry(您可以将每个模块部署到不同的空间),以测试在这种状态下,所有组件都可以正常工作。
6–我们将在parentView中添加组件容器以显示我们的子应用程序
7–我们必须在索引.html通过给namespace.name名称:指向my child应用程序的路径。
8–我们将在父视图.控制器.js我们的MyParentApp.
9–在清单.json(在依赖项中)我们将在MyParentApp中添加子组件的延迟加载。
10–现在,在xs中-应用程序.json,我们必须告诉parentApp何时何地可以找到childApp。为此,我们将使用mta.yaml公司我们父母的应用程序。
11–还没有。我们必须通过向childApp添加URL来定义目的地。
转到SubAccount->Connectivity->Destinations。添加新目标。
12–现在我们可以构建FirstParentMTA并部署MTA存档。
II)在同一MTA存档中为childUIApp和parentUIApp部署2个UI模块,而不使用目标服务。
对于第二个演示,我们将使用FirstMTA,品高云,云 服务器,其中我们已经有了子模块(MyChildApp),我们将创建第二个模块(MyParentApp2)。
1–之后,我们将从MyParentApp复制相同的代码,而不在mta.yaml公司.
2–在mta.yaml公司我们将添加一个提供者,在其中我们将添加一个属性来存储子模块的url(无需手动添加或硬编码)。在父级中,我们将使用这个URL并创建一个目的地(myChildDestination)。
3–现在我们必须在xs中告诉我们的批准者-应用程序.json将目标考虑在内。
4–现在我们构建第一个MTA并部署到cloudFoundry。
III)在两个不同的MTA中部署childUIApp和parentUIApp不使用目的地服务存档。
现在我们将更改mta.yaml公司通过将目标替换为MTA依赖项来创建第一个父MTA(在第一部分中使用)。
1–在甲基丙烯酸甲酯删除目标(dest\u FirstParentMTA)并添加MTA依赖项
,如您所见,这些要求与使用单个MTA项目包含2应用程序时的要求类似。但是现在,家长需要知道他将从何处使用提供的URL。
这就是为什么我们要给一个资源提供一些参数:
mta id:FirstMTA(这也是包含我们的childModule的mta的名称)
mta提供依赖关系:provideChildUI(我们的MyChildApp的提供中使用的名称)
2–一些东西我们不能忘记的是,让我们提供的URL在childModule中公开。因为父级将首先搜索子MTA,当他找到它时,他将搜索provideChildUI资源。
3–在xs中-应用程序.json将目标从dest\u FirstParentMTA更改为myChildDestination
4–现在就像每次构建一样,部署和测试。
我们看到了如何在cloud foundry环境中将ui5应用程序集成和重用到另一个应用程序中。
子应用程序和父应用程序可以使用EventBus交换数据。