ZF sun
0cb5c1a4df
chore(mp-harmony): vue.config.js 顶层 IIFE 集成 runSyncCheck (4 处一致性自动校验)
背景:
之前 vue.config.js 顶层 IIFE 只调 fixSubpackageModuleNames 修 5 个子包 name,
但漏改 build-profile.json5 / entry/oh-package.json5 / ascf_build/ 目录时
没有任何提示, 用户在 HBuilderX 看不到错误, 直到 DevEco ohpm 报错才发现。
改动:
1. scripts/fix-subpackage-module-names.js 新增 runSyncCheck() 函数:
- 读取 har-deps-required.json5 (whitelist) 作为单一事实源 (优先 json5 包,
失败回退手写解析)
- 扫描 3 个地方的一致性: build-profile.json5 modules / entry/oh-package.json5
file: 依赖 / ascf_build/ 实际目录
- 不一致时 console 打印明确错误 + 修复步骤 (1, 2, 3, 4 个文件)
- 默认不抛错 (silent: false 仅 console 输出, exitOnError: false)
- 暴露为 module.exports.runSyncCheck
2. vue.config.js 顶层 IIFE 集成:
- 修完 name 后调 runSyncCheck()
- HBuilderX 触发 require vue.config.js 时立即执行
- 不阻塞 vue-cli-service, 但 console 输出立刻告知用户漏改位置
- 鸿蒙端的硬性错误 (ohpm "Field IS Empty") 仍由 DevEco 抛出
端到端验证:
1. 故意在 whitelist 加 pages_extra (未同步其他 3 处)
→ vue.config.js require 立即输出:
✘ build-profile.json5 缺失子包: [pages_extra]
✘ entry/oh-package.json5 缺失 file: 依赖: [pages_extra]
✘ ascf_build/ 目录缺失子包: [pages_extra]
修复: 1. entry/har-deps-required.json5 ... 2. mp-harmony/build-profile.json5 ...
3. entry/oh-package.json5 ... 4. ascf_build/<pkg>/ 实际目录
2. 故意清空 pages_tool 的 name 字段
→ 修成 "pages_tool" + 跑 sync check, 输出 ✓ 5 个子包配置完全一致
module.exports 仍只有白名单字段 (productionSourceMap, configureWebpack),
vue-cli-service 不会报 "Invalid options" 错。
依赖: 项目已有 json5 包, 无需新装
2026-07-31 08:54:30 +08:00
..
2026-05-07 15:12:59 +08:00
2026-07-04 09:57:43 +08:00
2026-07-04 09:25:01 +08:00
2026-07-04 09:25:01 +08:00
2026-07-30 15:27:28 +08:00
2026-07-23 09:46:16 +08:00
2026-01-07 17:43:23 +08:00
2026-05-27 16:16:45 +08:00
2026-05-07 15:43:57 +08:00
2026-07-31 08:54:30 +08:00
2026-07-23 09:46:16 +08:00
2026-07-23 09:46:16 +08:00
2026-07-10 17:28:52 +08:00
2026-07-24 14:43:02 +08:00
2026-07-04 09:57:43 +08:00
2026-06-26 17:32:35 +08:00
2026-07-04 09:57:43 +08:00
2026-07-16 11:47:29 +08:00
2026-07-10 17:45:38 +08:00
2026-07-23 09:46:16 +08:00
2026-07-04 09:25:01 +08:00
2026-07-04 09:25:01 +08:00
2026-07-04 09:25:01 +08:00
2026-05-27 16:16:45 +08:00
2026-07-04 15:08:04 +08:00
2026-07-23 09:46:16 +08:00
2026-07-15 08:57:52 +08:00
2026-07-16 11:47:29 +08:00
2026-07-04 09:25:01 +08:00
2026-07-16 11:47:29 +08:00