SAP UI5 Tools 运行了 fiori add deploy-config 命令之后,工程文件发生了哪些变化

举报
汪子熙 发表于 2022/10/03 11:02:13 2022/10/03
【摘要】 我使用这篇文章 使用 generator-easy-ui5 快速创建 SAP UI5 应用的工程结构 介绍的工具,创建了一个 SAP UI5 应用,然后运行了 SAP UI5 Tools 提供的命令 fiori add deploy-config:之后 SAP UI5 工程里有两个文件自动被该命令修改了:package.jsonui5-deploy.yaml package.json 文件的...

我使用这篇文章 使用 generator-easy-ui5 快速创建 SAP UI5 应用的工程结构 介绍的工具,创建了一个 SAP UI5 应用,然后运行了 SAP UI5 Tools 提供的命令 fiori add deploy-config:

之后 SAP UI5 工程里有两个文件自动被该命令修改了:

  • package.json
  • ui5-deploy.yaml

package.json 文件的变化

执行命令之前:“deploy”: “fiori verify”

执行命令之后:“deploy”: “ui5 build preload --clean-dest --config ui5-deploy.yaml --include-task=generateManifestBundle generateCachebusterInfo && rimraf archive.zip”,

也就是说,fiori deploy 完成的步骤,包含 build,生成 ManifestBundleCachebusterInfo,以及删除 archive.zip 这几个阶段。

ui5-deploy.yaml 的变化

就是包含了我们在运行 fiori add deploy-config 命令之后,在 deploy 向导里维护的信息。

可以单独执行 npm run build 命令:

这个 build 命令执行之后,在 dist 文件夹内,生成了三个新文件:

  • Component-preload.js
  • manifest-bundle.zip
  • sap-ui-cachebuster-info.json

这个 manifest-bundle.zip 里也没有什么特殊的文件。

所谓 cache buster 机制,允许 SAP UI5 仅在 SAPUI5 资源已更改时才通知浏览器刷新资源。只要不改变,资源总是可以从浏览器的缓存中获取。

SAPUI5 支持 Java 和 ABAP 服务器以及 SAP Business Technology Platform 的 cache buster 概念。

SAP HANA XS 不支持 cache buster 概念。

如果要永久缓存资源,只需将 SAPUI5 引导标记中的 URL 从 resources/sap-ui-core.js 更改为 resources/sap-ui-cachebuster/sap-ui-core.js。

cache buster 允许始终将 SAPUI5 资源放入浏览器缓存,直到 UI 库或 Web 应用程序发生更改。 SAPUI5 资源处理程序的默认行为是将资源缓存特定的时间量,或者在开发模式下使用 304/NOT MODIFIED 机制检查 SAPUI5 资源是否是最新的。这两种机制在最终的生产场景中都不是最优的——这就是实现 cache buster 的原因。 想要使用 cache buster 的应用程序必须明确决定使用它。

cache buster 是资源 servlet 的一部分。 一般来说,对 JavaScript 资源的请求可以通过 cache buster 来处理。 通常这用于引导 JavaScript 的初始请求:

  <script type="text/javascript" 
  	id="sap-ui-bootstrap"
  	src="resources/sap-ui-cachebuster/sap-ui-core.js"
  	data-sap-ui-libs="sap.ui.core,sap.m,sap.ui.table"
	data-sap-ui-theme="sap_belize"></script>

引导 JavaScript 将通过 URL resources/sap-ui-cachebuster/sap-ui-core.js 而不是 resources/sap-ui-core.js 包含。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。