根因:微信开发者工具(>=1.05.2112301)的 ignoreDevUnusedFiles 会按 WXML/JS 依赖分析过滤 "无依赖"文件。tabBar 图标仅在 app.json 中声明,不属于任何页面 WXML/JS 依赖,被误判为无用 文件从开发包剥离,导致 5 个图标全部加载失败(渲染为破图占位)。 修复: - 在 project.config.json 与 miniapp/project.config.json 的 setting 中显式关闭 ignoreDevUnusedFiles / ignoreUploadUnusedFiles(false),阻止图标被过滤。 - 同步关闭本地 gitignore 的 project.private.config.json(DevTools 运行时实际读取项)。 - 预览通道 scripts/preview-miniapp.mjs:补全 /assets 绝对路径→相对路径重写,并手动复刻 原生 tabBar(原生 tabBar 不在任何页面 WXML 中,静态预览需自行复刻)。 - 回归守卫 ui-tests/tabbar-icons.mjs 扩充为 5 段,覆盖根因(配置开关)+ 预览复刻。 - miniapp/assets/tabbar/DESIGN.md 增加根因警示,防止后续被误开开关。 验证:UI 契约 23/23 全绿(tabbar-icons.mjs 位于 [19/23]);CDP 渲染实测 127 张图 0 破图, 5 个 tabBar 图标 naturalW=81 全部加载,选中色 rgb(233,107,107)、未选 rgb(153,153,153), 与 app.json selectedColor/color 一致。
31 lines
624 B
JSON
31 lines
624 B
JSON
{
|
|
"miniprogramRoot": "./",
|
|
"setting": {
|
|
"es6": true,
|
|
"postcss": true,
|
|
"minified": true,
|
|
"uglifyFileName": false,
|
|
"enhance": true,
|
|
"packNpmRelationList": [],
|
|
"babelSetting": {
|
|
"ignore": [],
|
|
"disablePlugins": [],
|
|
"outputPath": ""
|
|
},
|
|
"useCompilerPlugins": [
|
|
"typescript"
|
|
],
|
|
"minifyWXML": true,
|
|
"ignoreDevUnusedFiles": false,
|
|
"ignoreUploadUnusedFiles": false
|
|
},
|
|
"compileType": "miniprogram",
|
|
"simulatorPluginLibVersion": {},
|
|
"packOptions": {
|
|
"ignore": [],
|
|
"include": []
|
|
},
|
|
"appid": "wx3b42f7e3ddc08c3f",
|
|
"editorSetting": {}
|
|
}
|