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

UI5代码压缩混淆方案对比及@ui5/cli配置问题咨询

问题1解答

Grunt的grunt-openui5方案属于官方不再主推的遗留方案,@ui5/cli 是目前UI5生态官方指定的标准构建工具:

  • grunt-openui5 从2019年起就停止了新功能迭代,仅做必要的安全和兼容性bug修复,官方所有新的构建特性、性能优化都只会在UI5 Tooling(即@ui5/cli)中落地
  • 目前OpenUI5、SAPUI5官方提供的项目模板、脚手架,以及SAP官方开发环境的默认构建工具均为@ui5/cli
问题2解答

@ui5/cli 默认必须输出到dist目录,无法直接跳过该目录生成文件,但可以通过配置+脚本调整,实现仅保留你需要的压缩混淆后的Component-preload.js:

  1. 首先调整ui5.yaml配置,关闭调试文件生成、排除所有不需要输出的资源,最终dist目录内仅会保留Component-preload.js,配置示例如下:
specVersion: "2.5"
type: application
metadata:
    name: com.myapp
framework:
    name: OpenUI5
    version: 1.95.0
resources:
    configuration:
        paths:
            webapp: src/webapp
builder:
    # 关闭调试文件生成,不再输出*-dbg.*格式的调试版文件
    debug: false
    cachebuster:
        signatureType: hash
    componentPreload:
        namespaces:
            - "com/myapp"
        paths:
            - "src/webapp"
    # 配置输出资源过滤规则
    resources:
        excludes:
            # 先排除所有非preload的业务资源
            - "**/*.js"
            - "**/*.xml"
            - "**/*.html"
            - "**/*.css"
            - "**/*.properties"
            - "**/*.json"
            # 豁免保留Component-preload.js
            - "!**/Component-preload.js"
  1. 如果连dist目录都不想保留,可以直接修改NPM脚本,构建完成后将Component-preload.js移动到目标路径、再删除dist目录即可,示例脚本如下(Mac/Linux环境):
"scripts": {
  "build-preload-only": "ui5 build preload && mv dist/Component-preload.js ./ && rm -rf dist"
}

如果是Windows环境,可以把命令调整为适配cmd/PowerShell的语法,也可以安装跨平台的文件操作工具保证命令兼容性。

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:45:05