每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 1 个月前

改了 asset 里的 CSS,前台一点变化都没有

2 个回答 4,499 次浏览 主题与 Liquid 最后活跃 1 个月前
26

在 assets/base.css 里加了样式,保存后强刷、换浏览器都看不到效果。

L
Lily提问者
DTC 品牌独立站运营负责人
1 个月前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
51

先把判断放在前面:Shopify 会给 asset 分配带版本参数的 CDN 地址,主题文件更新后 URL 变化才会刷新缓存;如果改的是别的主题或用了 asset_url 之外的硬编码路径,就会一直命中旧缓存。

1处理顺序

  1. 确认 {{ 'base.css' | asset_url | stylesheet_tag }} 这种写法,asset_url 会自动带版本号。
  2. 检查有没有在页面里硬编码 https://cdn.shopify.com/...base.css,硬编码不会跟随更新。
  3. 在主题编辑器的「⋯ → 编辑代码」里确认改的是当前发布主题,不是草稿。
  4. 发布一次主题(哪怕是同一版本),强制触发 CDN 刷新。
  5. 如果只有部分样式不生效,检查是不是被应用注入的 CSS 覆盖,用开发者工具看层叠来源。
验收:前台样式立即生效,且元素上引用的 CSS 地址带新的版本参数。
风 风格技术团队 回答于 1 个月前
11

还有个常见原因:自定义样式写在了 theme.liquid 的内联 <style> 里,而实际渲染的是另一个 layout(比如 password.liquid),改的地方根本不是当前页面用的。

泽 阿泽 · 前端工程师 · 1 个月前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu