如何使用UI5 Tooling仅生成Component-preload.js文件
UI5 Tooling 仅生成Component-preload.js的解决方案
问题原因
你当前使用的命令仅过滤了构建任务,没有关闭UI5 Tooling默认的全量资源复制逻辑,所以会把项目所有源文件、依赖资源都拷贝到输出目录,产生大量无关文件。
可用解决方法
方案1:使用预制的preload构建命令(最简方案)
直接替换你的npm脚本为以下内容即可,UI5 Tooling内置的preload构建变体默认仅生成Component-preload.js,不会输出多余文件:
ui5 build preload --config ./devops/ui5.yaml
如果需要进一步限制生成范围,还可以追加--component=你的组件命名空间参数精准指定要生成preload的组件。
方案2:调整现有命令的参数
如果要保留你原有的任务过滤逻辑,只需要额外添加--no-copy-dependencies和--keep=**/Component-preload.js参数即可,最终脚本如下:
ui5 build --config ./devops/ui5.yaml --exclude-task=* --include-task=generateComponentPreload --no-copy-dependencies --keep=**/Component-preload.js
该配置会关闭依赖资源复制,并且构建完成后自动清理输出目录中除了Component-preload.js之外的所有文件。
补充说明
如果你的项目存在多组件场景,可以在ui5.yaml中添加preload相关配置,指定仅对特定组件生成preload文件,避免多余产物生成:
配置示例(添加到ui5.yaml的builder节点下):
builder: componentPreload: namespaces: - "你的项目组件命名空间" excludes: - "**/test/**" - "**/localService/**"
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

