看这段测试代码:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>SAPUI5 Walkthrough</title><scriptid="sap-ui-bootstrap"src="./resources/sap-ui-core.js"data-sap-ui-theme="sap_fiori_3"data-sap-ui-libs="sap.m"data-sap-ui-compatVersion="edge"data-sap-ui-async="true"data-sap-ui-resourceroots='{"sap.ui.demo.walkthrough": "./"}'data-sap-ui-oninit="module:sap/ui/demo/walkthrough/index"></script>
</head>
<body>
<div>Hello World</div></body>
</html>

运行之后,会弹出一个 Alert 对话框。

代码关键点逐行解释:

data-sap-ui-theme

指定主题为 sap-fiori-3.

详情参考文章:SAP UI5 应用指定主题 theme 的几种方式和其优先级

data-sap-ui-libs

要在 HTML 页面中使用 SAPUI5 功能,您必须加载并初始化 SAPUI5 库。

您可以在页面中使用 SAPUI5 引导程序脚本,以便在浏览器加载和执行脚本后自动初始化 SAPUI5 运行时。 对于简单的用例以及默认的 SAPUI5 安装,这足以构建和运行 UI。 除此之外,您可以在配置设置中指定一组 SAPUI5 库和用于您的应用程序的主题。这通过 script 的属性 data-sap-ui-libs 来完成。

如果我们删除上图第10行的 data-sap-ui-libs 属性以及 sap.m, 整个应用仍然能够正常运行,那为什么我们还需要这一行代码呢?

data-sap-ui-libs 由 UI5 Core 的引导程序考虑。 该框架将确保预加载 data-sap-ui-libs 属性中列出的所有库,然后才触发应用程序可以附加到的 init 事件。 当您删除库预加载时,这可能导致库的每个所需模块的单个请求,在最坏的情况下是同步请求并导致性能问题(您可以在网络跟踪中看到这一点)。 但是,如果您开发了 UI5 应用程序(组件)并且在清单中正确维护了库依赖项,则应用程序/组件加载器会在应用程序/组件初始化之前小心地为您预加载这些库。

注意:如果您独立运行应用程序,则引导程序将添加到您的 HTML 页面中。 在 SAP Fiori 启动板环境中,启动板执行引导程序,不需要额外的 HTML 页面来显示应用程序。

data-sap-ui-compatVersion

这个属性和 SAP UI5 的兼容性设计有关。

兼容性版本标志允许应用程序对 SAPUI5 中不兼容的更改做出反应。

如兼容性规则中所述,对 SAPUI5 功能的更改是兼容的,请参阅兼容性规则。但是,在某些情况下,更改功能的行为可能是有意义的,例如更改默认值或使用优化的实现,而这些更改可能会导致不兼容。

兼容版本配置工作如下:

(1) 如果功能更改不兼容,则会引入版本标志。

(2) 版本标志必须在 SAPUI5 引导标记中定义为全局(data-sap-ui-compatVersion 或为每个功能单独定义(例如 data-sap-ui-compatVersion-xyz).

看个例子:

<script id="sap-ui-bootstrap" type="text/javascript"src="resources/sap-ui-core.js"data-sap-ui-theme="sap_blue_crystal"data-sap-ui-libs="sap.ui.commons"data-sap-ui-compatVersion="1.18"data-sap-ui-compatVersion-<featureName>="1.16"></script>

如果未定义版本,则应用该功能的默认行为。

如果指定了显式版本,则应用指定版本的行为。

如果指定了 edge 版本,则应用该功能的最新行为。

关于剩下的 data-sap-ui-async,data-sap-ui-resourceroots 和 data-sap-ui-oninit 的含义,请参阅我的博客:SAP UI5 初学者教程之二:SAP UI5 的引导过程。

SAP UI5 的 sap-ui-bootstrap script 脚本标签各属性解析相关推荐

  1. SAP UI5 初学者教程之二:SAP UI5 的引导过程(Bootstrap) 试读版

    Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...

  2. 如何理解 SAP UI5 的 sap.ui.define 函数

    Understanding sap.ui.define by Hello World 随着 1.28 版本中 sap.ui.define 函数的引入,SAPUI5 引入了对异步模块定义 (AMD) 的 ...

  3. SAP UI5 应用开发教程之二:SAP UI5 的引导过程(Bootstrap)

    本教程的前一篇 Hello world 的文章,我们只是了解了一个最基本的 index.html 页面的开发方式,尚未真正接触到 SAP UI5. 从本文开始,我们将会在前一步骤的 index.htm ...

  4. SAP UI5 应用读取 CSRF token 的 HTTP head 请求逻辑解析

    SAP UI5 应用在发送 OData batch 请求之前,会通过下列的_createBatchRequest方法构造 batch 请求对象: var oBatchRequest = that._c ...

  5. script 脚本标签中 defer 和 async (延缓 和 异步)

    原文章:https://segmentfault.com/q/1010000000640869 本文章讲解几个点: <script>  标签中 的 defer 和 async 是什么: 使 ...

  6. SAP UI5 return sap.ui.view的实现

    Created by Wang, Jerry, last modified on Feb 25, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  7. SAP UI5 new sap.ui.commons.Button trigger component load

    Created by Wang, Jerry, last modified on Mar 26, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  8. SAP UI5 how the ui library theme parameter is loaded

    Created by Wang, Jerry, last modified on Apr 09, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  9. SAP UI5 DatePicker控件和语言设置相关的属性详解

    In SAP help, the determination of language code / locale is explained. For example, when I access CR ...

最新文章

  1. go语言学习-iota
  2. spring使用AOP注解三步曲
  3. 有趣的c语言程序Code,一个有趣的小程序
  4. 2016秋季阅读笔记一
  5. aws ecr_在ECR上推送Spring Boot Docker映像
  6. 内容生态搜索趋势研究报告
  7. oracle宣传视频下载,1300首 Audiomachine 背景音乐电影宣传预告片配乐合辑(23集)...
  8. GridView类容器中的DropDownList联动
  9. C51单片机————汇编与C语言
  10. MySQL服务安全加固及防护
  11. 如何实现一个Servlet中的多个功能
  12. Atmega328p-pu与Atmega16A-PU区别
  13. OrCAD42道问题汇总
  14. 读书笔记(2018年3月)-《卓有成效的管理者》总结
  15. 自学mysql还是sql好_如何自学SQL?
  16. Linux/Ubuntu20 安装 TP-link(RTL8812AU) 无线网卡驱动
  17. IDEA中MyBatis插件的安装及使用
  18. 纤亿通之光纤传输知识必备大全
  19. office办公软件题库1
  20. inter,amd,arm公司以及x86,arm,mips等架构关系

热门文章

  1. Cloudera Manager和CDH5.8离线安装
  2. tomcat8 安装|解决启动慢|进入管理|host-manager 403错误
  3. [转] C# TextBox、DataGrideView中的数据绑定
  4. jquery 中 fn.apply(this, arguments)是什么函数?有什么作用?能举个例子吗
  5. HDU3400+三分
  6. 自学编程成功概率有多少可能
  7. 知乎:GAN 的发展对于研究通用人工智能有什么意义?
  8. sqlserver 查询表锁死,解除表锁死
  9. SPF难以解决邮件伪造的现状以及方案
  10. css:实现文本两行或多行文本溢出显示省略号