You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测移除OpenUI5未使用依赖及冗余主题 实现构建包优化

OpenUI5 未使用依赖/主题清理与优化构建方案

先清理配置文件中的显式冗余

对比你提供的两份配置,首先存在明确的冗余声明:

  • ui5.yaml的framework.libraries节点下声明的sap.tnt、sap.ui.layout、sap.ui.table、themelib_sap_bluecrystal,均未在manifest.json的依赖列表中出现,如果你没有在代码中手动加载这些库/主题,可以直接从配置中删除。
  • sap.ui.core是OpenUI5运行的核心基础库,必须保留,不可删除。
  • 主题层面如果业务仅使用sap_fiori_3,直接移除themelib_sap_bluecrystal的声明即可,构建阶段不会再打包该主题的相关资源。

开启自包含构建自动裁剪未使用资源

UI5 Tooling 原生支持自包含构建,构建过程会自动扫描所有代码的依赖引用,剔除未被使用的库、控件、主题资源,最终生成最小化的可部署构建包。你需要在现有ui5.yaml中补充builder配置:

specVersion: '2.6'
metadata:
  name: com.sample.test
type: application
framework:
  name: OpenUI5
  version: "1.101.0"
  libraries:
    - name: sap.ui.core
    - name: sap.m
    - name: sap.f
    - name: themelib_sap_fiori_3
    # 若代码中确实用到sap.tnt、sap.ui.layout等库再补充到此处,否则无需保留
resources:
  configuration:
    paths:
      webapp: public
builder:
  settings:
    selfContained: true # 开启自包含构建,自动收集用到的依赖、剔除未引用资源
    minify: true # 开启JS/CSS压缩
  resources:
    excludes:
      # 手动排除明确不需要的资源
      - "**/test/**"
      - "**/sap_bluecrystal/**"
      - "**/*.md"
      - "**/docs/**"

构建与验证

  1. 若本地未安装UI5 CLI,先执行安装命令:npm install --save-dev @ui5/cli
  2. 执行依赖一致性检查,提前发现缺失/冗余的依赖声明:ui5 lint,根据提示调整依赖列表即可
  3. 执行优化构建命令:ui5 build self-contained --all,构建完成的产物默认输出到dist目录
  4. 本地启动静态服务托管dist目录,验证应用全功能正常:如果出现控件加载失败的报错,根据报错提示将缺失的库补回ui5.yaml和manifest.json的依赖列表,重新构建即可。

注意:你在manifest.json中声明的ui5customgrid、ui5datemap等自定义库,需要确保已在UI5工具链中正确注册(本地资源路径配置正确或已通过npm引入),否则构建阶段会抛出资源找不到的错误。

内容的提问来源于stack exchange,提问作者Mohammad Zeryab Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 09:51:30