Sapui5 如果UI5清单中未更新库预加载文件/库依赖项,会发生什么情况?
在应用程序开发人员的最佳实践中,这一部分是这样写的: 使您的库依赖项保持最新Sapui5 如果UI5清单中未更新库预加载文件/库依赖项,会发生什么情况?,sapui5,ui5-tooling,Sapui5,Ui5 Tooling,在应用程序开发人员的最佳实践中,这一部分是这样写的: 使您的库依赖项保持最新 将为您在应用程序描述符或OpenUI5引导程序中定义的每个库加载库预加载文件、库样式和文本翻译。始终在清单中定义库,并删除不打算在代码中使用的所有库 例如: “sap.ui5”:{ “依赖项”:{ “Mini5版本”:“1.85.0”, “libs”:{ “sap.ui.core”:{}, “sap.m”:{}, “sap.ui.layout”:{} } } ... } 我是否正确理解,在libs中,我必须添加出现在
将为您在应用程序描述符或OpenUI5引导程序中定义的每个库加载库预加载文件、库样式和文本翻译。始终在清单中定义库,并删除不打算在代码中使用的所有库 例如:
“sap.ui5”:{
“依赖项”:{
“Mini5版本”:“1.85.0”,
“libs”:{
“sap.ui.core”:{},
“sap.m”:{},
“sap.ui.layout”:{}
}
}
...
}
我是否正确理解,在
libs
中,我必须添加出现在sap.ui.define([…])
中的UI5应用程序的任何控制器的所有库?如果我忘记在这里添加库,会发生什么?它只是从组件预加载.js中排除,并以非优化方式加载,还是存在更严重的缺点?组件预加载.js
只包含应用程序的元素,而不包含任何UI5代码
要回答您的问题,请看一下这个小的
加载时,请执行以下操作:
“sap.ui5”:{
“依赖项”:{
“MINUI5版本”:“1.81.2”,
“libs”:{
“sap.ui.core”:{},
“sap.m”:{}
}
},
打开DevTools并查看网络选项卡。由于manifest.json
中的lib引用,因此library preload.js
都在Component.js之前加载
删除时:
“sap.ui.core”:{},
“sap.m”:{}
从
manifest.json
再次运行该应用程序,然后您可以看到所有UI5元素都在component.js
之后逐个加载。这只会减慢应用程序的速度。是的,为了从性能优化中获益,您必须将sap.UI5/dependencies/libs
部分保留在manifest.json中de>根据应用程序中使用的控制库始终保持最新。即,不仅“sap.ui.core”
和“sap.m”
,而且,如果您的应用程序使用sap.ui.table
,例如,“sap.ui.table”
如果您有控制库,这些库不需要在应用程序启动时直接预加载,但应该按需加载,您可以将lazy:true
分配给这些库:
“libs”:{
“sap.ui.core”:{},
“sap.m”:{},
“sap.ui.comp”:{
“懒惰”:正确
}
}
但“lazy”:true
纯粹是信息性的。在应用程序中,这些lib应该在使用前显式加载
//从“sap/ui/Core/Core”中需要核心
等待核心。(“sap.ui.comp”,/*async:/true);//延迟加载此重载库
这同样适用于以下情况: 项目所需的所有库必须列在框架配置的
库
部分:
框架:
名称:OpenUI5
版本:1.82.0
图书馆:
-名称:sap.ui.core
-姓名:sap.m
-名称:sap.ui.table