云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

数据库服务器_广东佛山网站建设_9元

小七 141 0

一些上下文

几周前,我试图在UI5中创建一个自定义控件库,我想将我的库部署到我们的本地ABAP堆栈中,但由于某些原因,文档中缺少了一些部分。幸运的是,如果找到了Sergei Korolev的优秀博客,其中描述了他为将UI5自定义控件库部署到SAP HCP和ABAP堆栈所做的尝试,我建议您阅读这两个博客作为撰写此博客的先决条件。

SAP WebIDE中的问题

在将UI5应用程序从SAP WebIDE部署到ABAP堆栈时,会生成一个dist文件夹,同时SAP WebIDE会处理预加载,不幸的是,在部署自定义控件库时,情况并非如此。在这种情况下,不会创建dist文件夹,也不会预加载库。因此,我导出了我的项目,并朝着另一个方向部署了自定义控件库…在SublimateText和Grunt任务中预加载和部署了库。

本地"IDE"中的自定义控件库

作为起点,大数据和数据分析区别,我从SAPUI5开发人员指南的演练教程中获取了自定义控件,所以和谢尔盖的博客里一样。我在SubmiteText中的文件夹结构如下

如您所见,我已经创建了一个src和一个dist文件夹,与通过SAP WebIDE部署的过程相同。在src文件夹中,我添加了我的代码,当我使用默认的grunt任务时,我将清理dist文件夹,预加载我的库(稍后在博客中对此进行详细介绍),将所有必要的文件和文件夹复制到dist文件夹,最后但并非最不重要的是使用grunt-nwabp-ui5uploader直接部署到我们的ABAP存储库。最后一部分还可以通过ABAP Report/UI5/UI5存储库加载或使用Eclipse(yikes!)手动完成。

当我们使用咕噜时,我们需要包.json在其中,我们添加了"devDependencies"来预加载我们的库(在开始之前不要忘记安装npm)。

现在您可以使用终端导航到您的项目文件夹,数据呈现,只需键入npm install,您的所有devDependencies都将被创建(一个文件夹节点将被创建)一旦我的devdependency被添加,我就开始实际开发我的自定义控件库。在我的第一次尝试中,我创建了以下文件(步骤也可以在gitHub上找到:

因此,此时我的控件库有以下文件夹结构,您可以忽略i18n和themes文件夹以用于此博客。

在UI5的gitHub页面上有一些额外的步骤描述,但我想看看如果我这样部署它。

我的应用程序只是一个访问RTSAMPLESFLIGHT2 OData服务的主-细节模板。我刚刚在清单.json.

然后我只需要在我的视图上添加我的控件,如演练中所述,云服务器服务商,如果您在应用程序本身中使用自定义控件,您会这样做。

当我在没有预加载应用程序的情况下将src文件夹直接部署到ABAP堆栈时,我在FLP上第一次打开应用程序时总是遇到"无法打开应用程序"错误,当我分析网络跟踪时,我注意到搜索库的框架-预加载.json并且没有执行回退到图书馆.js文件。奇怪的是,淘客什么意思,当我再次打开应用程序时,它只是像你所期望的那样打开和工作。

所以这还不是我们要走的路,物联网是什么意思,但我们确信我们朝着正确的方向前进。

因为我在上一步调查了网络跟踪,我知道UI5正在搜索库-预加载.json文件,于是呼噜声就进来了。你需要添加一个Gruntfile.js文件为此,在屏幕截图中可以找到我的基本grunt过程。

我查看了GitHub上grunt-openui5项目的文档。因此,我添加了openui5\u预加载任务,如下所示,但是请注意,我添加了compatVersion选项。如果不添加此项,预加载任务将生成一个库-预加载.js文件,从版本1.40开始与UI5相关,由于我们的ABAP堆栈的UI5版本是1.38.x,我们必须将compatVersion设置为1.38才能获得库-预加载.json-文件。

我注册了两个任务:

当我们运行默认任务或项目时,我们的库是部署的-预加载.json文件,但是当从我们的FLP打开应用程序时,我们仍然收到"无法打开应用程序"错误。原因是UI5库查找该库-预加载.json在ushell资源(/sap/bc/ui5\u ui5/ui2/ushell/resources/…)中,这不是我期望的路径…

在调查GitHub中的文档之后,我注意到需要添加一个.library文件。

我像gitHub文档中描述的那样创建了.library文件。

一旦我创建了这个文件并部署了新版本的自定义控件库,我的dist文件夹看起来像这样:

这导致在后端出现以下BSP应用程序:

UI58102…文件是库-预加载.json请注意,我们的BSP应用程序中还有一个.library文件,以及我们在前面所有步骤中创建的所有文件。

当我们现在测试应用程序时,它从第一次尝试开始工作,正如你在下面看到的

如果我们现在调查网络跟踪,我们注意到库-预加载.json从与以前完全不同的位置加载(/sap/bc/ui5\ui5/sap/mycustlib),这是我们部署的BSP应用程序。