我将Tailwind CSS集成到我的Rails 6应用程序中。在开发环境下,CSS显示正常,但在生产环境中却不是这样。
这是我的application.html.erb
的外观;
<!DOCTYPE html>
<html>
<head>
<title>HomePetVet</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<% unless flash.empty? %>
<script type="text/javascript">
<% flash.each do |f| %>
<% type = f[0].to_s.gsub('alert', 'error').gsub('notice', 'info') %>
toastr['<%= type %>']('<%= f[1] %>');
<% end %>
</script>
<% end %>
<%= yield %>
<%= javascript_pack_tag 'sb-admin-2', 'data-turbolinks-track': 'reload' %>
</body>
</html>
这是我的webpacker.yml
文件;
production:
<<: *default
# Production depends on precompilation of packs prior to booting for performance.
compile: false
# Extract and emit a css file
extract_css: true
# Cache manifest.json for performance
cache_manifest: true
我在 webpacker.yml
中设置了 extract_css
为 true
这是我的 package.json
文件;
{
"name": "MyProject",
"private": true,
"dependencies": {
"tailwindcss": "^1.4.6",
"toastr": "^2.1.4",
"turbolinks": "^5.2.0",
"yarn": "^1.22.4"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.10.3"
}
}
您会发现
tailwindcss
不在devDependencies
下。
在通过gcloud app deploy
部署到gcp
之前,我执行RAILS_ENV=production rails assets:precompile
,但tailwind css
仍未在生产环境中显示。我遵循此文档将我的Rails 6应用程序部署到GCP上。
这是我的
app.yaml
文件:entrypoint: bundle exec rails server Puma -p $PORT
runtime: ruby
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
注意 app.yaml
中的 entrypoint: bundle exec rails server Puma -p $PORT
。与指南中的不同,指南使用的是 entrypoint: bundle exec rackup --port $PORT
。
我不知道这是否有影响,但我想提一下。
我可能做错了什么?