当前位置: 首页 > Web前端 > JavaScript

深入讲解配置本地SAPUI5应用到本地FioriLaunchpad试用版的技术实现

时间:2023-03-27 10:39:01 JavaScript

一套适合SAPUI5初学者的循序渐进的学习教程作者介绍JerryWang毕业后加入2007年获得电子科技大学计算机科学硕士学位SAP成都研究院工作至今。Jerry是SAP社区导师和SAP中国技术大使。在15年的SAP标准产品开发生涯中,Jerry参与了SAPBusinessByDesign、SAPCRM、SAPCloudforCustomer、SAPS/4HANA、SAPCommerceCloud(电商)等标准产品的研发云)。Jerry在工作中使用ABAP、Java、JavaScript和TypeScript进行开发,对包括SAPUI5在内的多种SAP自研框架有深入研究。教程目录SAPUI5本地开发环境搭建SAPUI5应用开发教程一:HelloWorldSAPUI5应用开发教程二:BootstrapSAPUI5应用开发教程三:接触第一款SAPUI5控件SAPUI5应用开发教程四:初探XMLViewsSAPUI5应用开发教程五:ViewControllers初探SAPUI5应用开发教程六-理解SAPUI5的模块概念SAPUI5应用开发教程七-JSON模型初探SAPUI5应用开发教程8-多语言支持SAPUI5应用开发教程9-创建第一个ComponentSAPUI5应用开发教程10-SAPUI5应用Descriptor的Descriptor是什么SAPUI5应用开发教程11:SAPUI5容器类控制页面和面板SAPUI5应用开发教程第12期-UsingCSS类进一步美化UISAPUI5应用开发教程第13期-如何添加自定义CSS类SAPUI5应用开发教程第14期-如何使用嵌入式视图SAPUI5应用开发教程第15期-如何使用对话框和FragmentsSAPUI5应用开发教程16-图标图标使用SAPUI5应用开发教程17-UI5复合控件中的聚合与绑定使用SAPUI5应用开发教程十八-SAPUI5数据绑定中的特殊符号语法,以及绝对绑定和相对绑定概念详解SAPUI5应用开发教程十九-SAPUI5数据类型和复杂数据绑定SAPUI5应用开发教程20-SAPUI5表达式绑定使用详解SAPUI5应用开发教程21-SAPUI5自定义格式化程序SAPUI5应用开发教程22-Filter过滤器的开发与使用SAPUI5应用开发教程23-ListC的排序ontrolsSortandGroupSAPUI5应用开发教程24-如何使用OData数据模型SAPUI5应用开发教程25-使用代理服务器解决SAPUI5应用访问远端OData服务的跨域问题SAPUI5应用开发教程26-OData服务和Mock服务器使用步骤详解SAPUI5应用开发教程27-SAPUI5应用单元测试工具QUnit介绍SAPUI5应用开发教程二十八-SAPUI5应用集成测试工具OPA介绍SAPUI5应用开发教程29-SAPUI5路由和导航功能介绍SAPUI5应用开发教程30-SAPUI5路由过程参数传递SAP三十一UI5应用开发教程-SAPUI5路由历史和路由返回(Routingbackandhistory)SAPUI5应用开发教程三十二-如何创建自定义SAPUI5控件SAPUI5应用开发教程三十三-SAPUI5应用的响应性(Responsiveness)SAPUI5应用开发教程三十四-SAPUI5应用基于设备类型页面适配功能(Device适配)SAPUI5应用开发教程三十五-如何将本地开发的SAPUI5应用部署到ABAP服务器SAPUI5应用开发教程三十六-使用Chrome开发者工具Elements选项卡动态修改CSS类SAPUI5应用开发教程三十七-使用Chrome开发者工具Console面板ElementReviewSAPUI5应用开发教程第38期-使用Chrome开发者工具查看程序执行错误时的上下文信息SAPUI5应用开发教程第39期-SAP的一些常见错误及分析方法UI5App出现白屏分享SAPUI5应用开发教程40-如何制作包含component-preload.js的SAPUI5Release版本SAPUI5应用开发教程41-Chrome扩展UI5Inspector离线安装使用SAPUI5应用开发教程四十-二-SAPUI5自带的Diagnostics诊断工具使用方法介绍SAPUI5应用开发教程四十三-SAPUI5自带的SupportAssistant工具使用方法介绍SAPUI5应用开发教程44-标签和输入控件文本未水平对齐的原因分析及解决方法SAPUI5应用开发教程45-如何在SAPUI5应用中使用jQuery和NativeDOMAPISAPUI5应用开发教程4十六-使用MessageManager实现out开箱即用验证(Validation)信息抛出SAPUI5应用开发教程四十七-如何自定义SAPUI5字符串类型输入字段的验证逻辑SAPUI5应用开发教程四十八-如何开发条码扫描功能SAPUI5应用SAPUI5应用开发教程四十九-如何在桌面电脑上调试手机上运行的SAPUI5应用SAPUI5应用开发教程五十-如何使用Cordova集成SAPUI5应用生成混合可以安装在安卓手机上的应用SAPUI5应用开发教程第51期-HowtouseChrome调试SAPUI5CordovaHybridApplicationSAPUI5应用开发教程第52期-如何使用SAPUI5标准控件结合Cordova插件调用手机摄像头进行条码扫描SAPUI5应用开发教程第53期-如何自定义SAPUI5数据类型(DataType)SAPUI5应用开发教程五十四-如何配置本地SAPUI5应用前往本地FioriLaunchpadSAPUI5应用开发教程55-如何部署本地SAPUI5应用通过Node.jsExpress上线公网的SAPUI5应用开发教程56-SAPUI5树形控件(树)开发SAPUI5应用开发教程五十七-基于OData注解的智能字段学习SAPUI5应用开发教程五十八-使用在运行时动态创建不同类型的列表行项目控件的工厂方法SAPUI5应用程序开发教程五十九-如何在SAPUI5应用程序中显示世界地图SAPUI5应用程序开发教程六十-SAPUI5地图控件的一些高级用法SAPUI5应用程序开发教程六十一-绘制甘特图GanttChartSAPinSAPUI5应用程序UI5应用开发教程第62期-基于ODataV4的SAPUI5表单控件使用介绍SAPUI5应用开发教程第63期-深入介绍基于ODataV4实现本地MockServer的SAPUI5应用开发教程第64期-基于ODataV4的SAPUI5表控件如何实现过滤(filtering)和排序(sort)功能SAPUI5应用开发教程六十五-基于ODataV4的SAPUI5表控件如何实现创建、SAPUI5应用开发教程六十六——如何实现基于ODataV4的SAPUI5表格控件的删除功能SAPUI5应用开发教程六十七——基于SAPUI5列表-详细信息(List-Detail)布局的实现onODataV4SAPUI5应用开发教程第68期-SAPUI5路由失败时如何显示自定义NOTFound页面SAPUI5应用开发教程第69期-Howtoj从SAPUI5NotFound页面跳转至正常应用页面SAPUI5应用开发教程70-如何使用按钮控件触发页面路由跳转SAPUI5应用开发教程71-SAPUI5页面嵌套路由SAPUI5应用开发教程72-SAPUI5页面路由动画效果设置SAPUI5应用开发教程七十三-使用自定义查询实现SAPUI5页面路由的书签功能SAPUI5应用开发教程七十四-SAPUI5应用使用ODataV4显示的陷阱TableTabularDataSAPUI5应用开发教程七十五-如何使用SAPUI5主从表的联动技术展示复杂的表内容SAPUI5应用开发教程七十六-如何实现LazyLoading(延迟加载、懒加载)SAPUI5SAPUI5应用开发教程七十七-SAPUI5动态页面路由的高级用法:一对多routingrecordsroutesandtargets之间的关系SAPUI5应用开发教程七十八-如何通过url维护SAPUI5搜索的状态,使其支持书签功能SAPUI5应用开发教程七十九-使用体验SAPUI5应用功能开发的开发理念(测试驱动开发)(一)SAPUI5应用开发教程八十——SAPUI5应用功能开发的使用测试驱动开发理念(测试驱动开发)(二)SAPUI5应用开发教程81-使用OPA5进行SAPUI5集成测试(IntegrationTest)实例SAPUI5应用开发教程82-使用OPA5开发支持页面跳转的SAPUI5集成测试用例十三-SAPUI5自动化测试套件页面开发步骤介绍八十-SAPUI5应用开发教程之四-如何指定SAPUI5应用基于特定版本运行SAPUI5应用开发教程之八十五-如何使用OPA5编写测试用例测试用户输入文本的功能SAPUI5ApplicationDevelopmentTutorialNo.86-手把手开发最简单的本地Mock数据服务器SAPUI5ApplicationDevelopmentTutorialNo.87-HowtomakeSAPUI5MockserversupportcustomurlParametersSAPUI5ApplicationDevelopmentTutorialNo.88-HowtheSAPUI5MockServerImplementsCustomFunctionImportSAPUI5ApplicationDevelopmentTutorialNo.89-如何添加多个图形界面过滤器SAPUI5列表控件SAPUI5应用开发教程九十-基于ODataV2的SAPUI5列表-详细信息(List-Detail)布局的实现SAPUI5应用开发教程九十一-如何使用客户端JSON模型构建Master-Detail-Detail布局中的列表页SAPUI5应用开发教程第92期-基于SAPUI5JSONModel客户端模型前提的表格分页SAPUI5应用开发教程第93期-深入探讨基于List控件显示的数据关于JSONModel数据模型SAPUI5应用开发教程九十四-基于JSONModel数据模型的SAPUI5列表控件分页显示数据的完整解决方案SAPUI5应用开发教程九十五-SAPUI5下拉菜单(选择如何使用ect)控件SAPUI5应用开发教程第96部分-SAPUI5列表控件在页面中显示数据时如何自定义页面大小SAPUI5应用开发教程第97部分-如何使用客户端JSON模型构建Master-Detail-Detail布局中的详情页SAPUI5应用开发教程第98部分-从viewId属性谈SAPUI5的HTML源代码生成机制SAPUI5应用开发教程第99部分-深入探讨SAPUI5本地package.json和开发环境中的ui5.yamlSAPUI5应用开发教程一百一-如何修改SAPUI5框架的源码实现,并使用本地部署的SAPUI5SDKSAPUI5应用开发教程一百零一-SAPUI5应用Locale决定机制SAPUI5应用开发教程一百零二-SAPUI5应用打印(Print)功能实现详解SAPUI5应用程序开发教程一百零三-如何在SAPUI5应用程序中使用第三方库SAPUI5应用程序一百零四开发教程-SAPUI5表格控件的多选支持以及如何使用代码一次选择多个表格行项目时光SAPUI5应用开发教程一百零五-SAPUI5Master-Detail布局模式详细介绍联动效果的实现SAPUI5应用开发教程一百零六-如何提高SAPUI5应用路由urlSAP的可读性UI5应用开发教程一百零七-SAPUI5OverflowToolbar容器控件和一些resize事件处理详解SAPUI5应用开发教程第108部分-SAPUI5图片显示控件的使用方法AvatarSAPUI5应用开发教程第109部分介绍-使用SAPUI5FileUploader控件上传本地文件SAPUI5Application开发教程Part110-深入介绍SAPUI5FileUploader控件-为什么需要隐藏iframeSAPUI5应用程序开发教程111-SAPUI5FileUploader控件实现本地文件上传,接收服务器时遇到跨域访问错误-端响应SAPUI5应用开发教程一百一十二-使用自研代理服务器解决SAPUI5FileUploader上传文件遇到的跨域访问错误SAPUI5应用开发教程一百一十三-授人以渔-如何自己动手查询任何SAPUI5控件属性的文档和技术实现细节SAPUI5应用开发教程114-如何通过单步调试查找FioriLaunchpad路由错误的原因SAPUI5应用开发教程115-深入讲解SAPUI5应用开发教程-正在写中的将本地SAPUI5应用配置到本地FioriLaunchpad一百一十六的技术实现说明...说明Jerry于2014年加入SAP成都研究院CRMFiori之后,开发团队开始接触SAPUI5,发表了多篇关于工作p的文章SAP社区和“王子熙”微信的SAPUI5原理和源码分析公众号。在本文中,Jerry是一个对SAPUI5一无所知的新手,从哪些资料开始学习比较好?如前所述,Jerry也是从SAPUI5菜鸟一路走来的。他知道,对于一个只有ABAP开发背景的开发人员来说,要转型到SAPUI5开发领域并不容易。因此,我利用业余时间为SAPUI5不同层次的学习者设计了本书。学习教程将开发一个完整的SAPUI5应用程序的过程分解成几个步骤,力求涵盖每个步骤中涉及的所有知识点。这些知识点可能没有我的UI5源码分析系列文章那么深入,但我力求做到简单。重要知识点附有详细的截图辅助文字介绍,便于教程学习者理解。本教程每一步的源码都存放在我的Github上,以01、02、03等文件夹标识,例如第1步的源码在这里。每一步都在上一步的基础上,增加了几个新的特性。建议零基础或对SAPUI5了解不多的SAPUI5初学者从第一步开始按顺序一步步学习,把这些代码下载到本地,配合教程的文字讲解自己动手加深理解。对于已经有一定基础的SAPUI5开发者,可以通过本文目录跳过前面部分比较基础的章节,直接选择与自己工作项目相关的章节,或者包含某些知识点的章节他们还没有掌握。学习。如果大家对教程的每一步有什么疑问,欢迎在教程对应的步骤文章中评论留言。虽然平时开发工作很忙,但我保证会定期查看大家给我留下的评论,我一定会抽空回答其中涉及的技术问题。本教程SAPUI5应用开发教程54-如何将本地SAPUI5应用配置到本地FioriLaunchpad的第54步分享了如何将本地开发的SAPUI5应用配置到本地运行的FioriLaunchpad,效果如下:-称为localLaunchpad是为了区别于ABAP服务器和SAPBusinessTechnologyPlatform(BTP)服务器上的FioriLaunchpad。点击App1tile后,可以跳转到该tile配置的本地SAPUI5应用,地址栏的url会随之变化。我们当时在第54步介绍过,为了让SAPUI5框架知道点击Launchpad中的tile后应该跳转到哪个SAPUI5应用,需要进行如下配置,这样url的值第18行的字段(图1),指向要打开的SAPUI5应用程序所在的项目文件夹的名称(图2),两者必须一致。一位朋友在学习完第54步后反馈,在第16行的additionalInformation中,这位朋友指定了要打开的SAPUI5应用程序,即sap.ui5.walkthrough.app1,使用的路径包含了完整的命名空间前缀。对于第18行的url字段,即使保持为“”,点击tile后的跳转依然正常。其实这是两种不同的方式来指定点击tile后要打开的目标SAPUI5应用信息。你为什么这么说?下面详细分析一下这两种不同方法的工作原理。还记得本教程SAPUI5应用开发教程九-创建第一个Component中提到的知识点吗?当在FioriLaunchpad上配置SAPUI5应用时,应用的入口不再是index.html,而是Component.js。每个希望通过FioriLaunchpad访问的SAPUI5应用程序都必须有这样一个Component.js文件。文件名区分大小写,不能更改为其他名称。本文介绍的两种方法实际上是告诉SAPUI5框架去哪里寻找要打开的应用程序的Component.js的不同方式。下面对这两种方法进行详细说明。小结本文深入讲解了在SAPFioriLaunchpad中配置SAPUI5信息,使其可以在FioriLaunchpad中作为tile使用,点击打开的两种方法。方法一需要在url字段中正确维护要在项目中打开的SAPUI5应用程序的路径信息,方法二需要在additionalInformation字段中维护完整的SAPUI5Component名称包括命名空间。本文展示了一种错误信息驱动的探索方法,即故意维护一个非法值,通过SAPUI5框架抛出的错误信息找到非法值被验证的准确位置,进而学习SAPUI5相关处理逻辑。