模板继承里那个 `block` 没闭合,我把整站 CSS 干成了"裸奔模式"
上周给社区后台换套新皮肤,ThinkPHP 的模板继承用得挺顺,`` 一写,`` 一塞,本地看着完美。打包丢到测试机,前端同事截图过来:咋样式全丢了?
我 F12 一看,好家伙,`` 里就剩个 ``,我塞的那堆 `` 全没了。排查半小时,发现是 `base.html` 里写了个 `` 没配对,后面跟的 `js` block 被吞了,连带我写在子模板里的 `css` block 也没渲染出来。TP 的模板引擎不报错,静默跳过,页面照常 200,就是"裸奔"。
更绝的是静态资源路径。我本地用 `__STATIC__/admin/css/new-theme.css`,测试环境配了 CDN 回源,OSS 绑了独立域名。结果 `__STATIC__` 解析出来带了个斜杠,CDN 域名尾巴也有斜杠,拼成了 `https://cdn.xxx.com//admin/css/...`,浏览器直接 404。我以为是缓存刷新问题,清 CDN、清浏览器、清 OPcache,三板斧抡完才发现是双斜杠。
现在我的资源发布流程变成:本地 `php think view:clear` 清编译缓存 → 打包前用脚本扫一遍所有 `__STATIC__` 和 `__CSS__` 标签 → 上传 OSS 后校验 ETag → 最后才切 CDN 回源。模板继承那边,给 `` 加了注释闭合 ``,虽然 TP 不认,但至少肉眼能查。
你们资源路径都怎么管理的?我这种"土法炼钢"有没有更省事的招?
最新打赏

