004 CSS Bundling for Rails

36 阅读1分钟

先建立一个页面测试一下效果

$ bin/rails g scaffold post
$ bin/rails db:migrate

config/route.rb

 root 'posts#index'
$ bin/dev

测试正式环境

$ RAILS_ENV=production rails assets:precompile
$ RAILS_ENV=production rails db:setup

$ RAILS_ENV=production rails s

清理一下资源文件返回开发模式

$ bin/rails assets:clobber

写一个样式文件

application.html.erb

<%= stylesheet_link_tag 'application', "data-turbo-track": "reload" %>

application.tailwind.css

body {
  color: red;
}

如何在老项目上加入功能

github.com/rails/cssbu…

$ ./bin/bundle add cssbundling-rails
$ ./bin/rails css:install:tailwind

yarn build:css

"build:css": "npx @tailwindcss/cli -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify"

上面的命令来自 tailwindcss.com/docs/instal… 的参考

$ Rails.application.config.assets.paths
​
["/Users/lemon/Desktop/heyfong/app/assets/builds",
 "/Users/lemon/Desktop/heyfong/app/assets/images",
 "/Users/lemon/Desktop/heyfong/app/assets/stylesheets",
 ...
]

经过测试 assets 下的目录都会自动加载进来