How to upgrade the WebIDE PE UI5 library
Background:
在我们使用SAPUI5 做前端开发的时候,有时常会遇到如下错误 :
Uncaught TypeError: this.getView(…).byId(…).setFilterFunction is not a function
如果你遇到类假的错误 ,我可能需要检查我一下我当前调用的UI5 的版本了,有可能是你使用方法或属性不存在于你当前调用的版本。
查看当前UI5 所用的Library 版本
在当前Web 显示页,按Ctrl + Alt + Shift + S (组合快捷键) 弹出UI5 相关信息:
然后再查看控件对应属性或方法的相关说明:
如Combobox 的 setFilterFunction 方法 ( setFilterFunction 继承于 sap.m.ComboBoxBase ) 只支持 1.58 及其以后的版本。
在测试中我们可以有两个方法来解决:
在Index.html 中直接将 library 的URL 地址直接指向SAP UI5 的在线 sap-ui-core.js 文件,它将是sap最新的UI5 runtime library
将 src=”../../resources/sap-ui-core.js”
改为:
src=”https://sapui5.hana.ondemand.com/resources/sap-ui-core.js”
别一个,升级我们的WEBIDE PE UI5 Runtime Library ,让其达到我们的支持版本
-
从SAP 上下载合适的UI5 SDK Library, 这里有最好用SDK,SDK 有test-resource, Runtime library 只有 resource , 没有test-resource
https://tools.hana.ondemand.com/#sapui5
-
添加新下载的 UI5 SDK library 到SAP WEBIDE PE
在下图的文件路径下创建 对应的版本号文件夹, 并从下载的文件夹解压出resource , test-resource文件一夹 ,将其复制到新创建的版本号文件夹内。
- 更改Web IDE 的 resource 配置文件, 将新的UI5 Library 配置信息添加进route
- 添加新的版本到 neo-app.json
- 添加版本信息到 versionoverview.json
- 清空 Browse 的Cache
4). 重启WEBIDE (Browse 要用 Chrom , IE中无法显示SAPUI5 Version 这个档位的信息) 已发现新的SAPUI5 版本