嵌入资源主题

哦,天哪 :flushed_face: 原来是 Nginx!

简而言之:

rm -rf /var/nginx/cache/*`

瞬间解决!


可选:禁用 Nginx 资源缓存

编辑此文件:

/etc/nginx/conf.d/discourse.conf

在大约第 243-246 行,注释掉缓存指令:

      # proxy_cache one;
      # proxy_cache_key "$scheme,$host,$request_uri";
      # proxy_cache_valid 200 301 302 7d;
      # proxy_cache_bypass $bypass_cache;

然后重启 Nginx:

sv restart nginx

:artist_palette: 如果您正在更改配色方案…

仅编辑主题中的颜色设置不会重新生成 embed_[digest].css。要强制 Discourse 生成新的资源文件,请执行此操作:

rm tmp/stylesheet-cache/* # 或者,仅针对 embed,`rm tmp/stylesheet-cache/embed*`

:thinking: RAILS_ENV=development 怎么样?

您可能认为设置 RAILS_ENV: development 会禁用缓存,但是:

  • Discourse 使用的 nginx.sample.conf 默认启用缓存,无论环境如何
  • 该缓存不与 RAILS_ENV 绑定,因此它无助于嵌入式资源缓存

因此,除非您计划完全重新配置 Nginx 层,否则只需手动清除缓存或禁用那些行即可。准备好生产环境后,您可以恢复原状。

:turtle: ./launcher rebuild standalone 怎么样?

当然,它有效。但是,如果您正在积极调整主题、测试嵌入和调整颜色…您会希望每次都比等待几分钟更快。

:speech_balloon: 有更好的开发设置或快速修复方法?请评论!