You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7 + Tailwind:如何实现文件保存时自动预编译资产?

解决Rails 7.0.4 + Tailwind开发时自动更新样式的问题

1. 检查Tailwind配置文件

确保tailwind.config.js的content数组包含所有存放视图、组件、JS文件的路径,这样Tailwind才能扫描到你新增的CSS类:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./app/views/**/*.html.erb",
    "./app/components/**/*.{erb,rb}",
    "./app/javascript/**/*.js",
    "./app/assets/javascripts/**/*.js",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

2. 确认bin/dev的进程配置

打开Procfile.dev,确保包含Tailwind的监听进程:

web: bin/rails server -p 3000
css: yarn build:css --watch

yarn build:css --watch会自动监听文件变化,重新编译Tailwind CSS,无需手动执行rails assets:precompile。如果你的Procfile里没有这个进程,添加上后重启bin/dev即可。

3. 清理预编译的静态资产(若之前执行过)

如果之前在开发环境执行过rails assets:precompile,会生成public/assets目录下的静态文件,Rails会优先加载这些文件,导致新样式不生效。执行以下命令清理:

rails assets:clobber

之后重启bin/dev,开发模式下就会动态生成样式文件。

4. 确认开发环境配置

检查config/environments/development.rb,确保以下配置正确:

config.assets.debug = true
config.assets.compile = true # 确保开发环境允许动态编译资产
config.public_file_server.enabled = true

完成以上设置后,当你新增Tailwind类并保存文件时,Tailwind会自动重新编译CSS,刷新页面就能看到效果,无需手动预编译或重启bin/dev。

内容的提问来源于stack exchange,提问作者Benjamin J. B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:16:12