# 04 — project.json 键序:与已发布产物逐字节对齐 Status: resolved Type: task ## 问题 重构后 `collection-all/project.json` 字段值完全一致,但顶层键序变了: ``` 已发布: … general, preview, ratingsex, … visibility, workshopid, workshopurl 本次: … general, ratingsex, … visibility, preview, workshopid, workshopurl ``` 原因:三个可选字段(`preview`/`workshopid`/`workshopurl`)统一被追加到对象末尾,而线上那份的 `preview` 夹在 `general` 与 `ratingsex` 之间。 ## 答案 `preview` 用条件展开放进对象字面量的正确位置;`workshopid`/`workshopurl` 保持在末尾追加(它们本来就在最后)。 **为什么较真**:上传到创意工坊的 `project.json` 要和线上那份对齐,否则每次构建都产生一个"内容相同、文件不同"的 diff,无法判断是真改动还是噪声。 **发现方式**:先按字符串比对,只看到"首个差异 @ 353",定位不到键;写成逐键递归比对(`tools/checks/diff-project.mts`)后立刻显示"字段值完全一致、键序不同"。