【发布时间】:2022-08-13 09:22:14
【问题描述】:
尝试使用顺风和 postcss 的 rails 7。
我在资产/样式表中有一些样式表,我通过同一文件夹中名为 imports.css 的文件导入这些样式表。
//imports.css
@import stylesheet1.css;
@import stylesheet2.css;
然后我在 application.html.erb 中导入该文件,其中包含以下内容:
//application.html.erb
<%= stylesheet_link_tag \"application\", \"imports\", \"data-turbo-track\": \"reload\" %>
在开发过程中,一切都按预期运行良好,与顺风相得益彰。由于 postcss,导入工作正常。但是在生产(nginx,puma)中,它试图拉入这些文件并失败。对于我拥有的每个样式表,我在浏览器控制台中看到:
GET https://mywebsite.com/assets/style/stylesheet1.css net::ERR_ABORTED 404(未找到)
我正在尝试将我的大脑从 rails 6 中的 webpacker 转移,不确定我需要在这里做什么......一些想法:
-
我是否需要设置它以便将样式表复制到 public/assets 文件夹或其他东西?在production.rb中有设置吗? (我觉得默认情况下rails应该已经这样做了)
-
我是否需要在部署时手动预编译这些资产?
帮助将不胜感激。谢谢!
-
嗨,我有一个类似的问题。可能是
production.rbyou\'没有提供静态文件(我可以看到您正在尝试直接从浏览器访问静态文件,而不是预编译的文件。您可以通过 production.rb 中的环境变量来完成,config.public_file_server.enabled = true
标签: ruby-on-rails ruby asset-pipeline ruby-on-rails-7