小编jon*_*ark的帖子

Rails 7 css 资产无法在生产中运行,需要帮助了解资产管道在没有 webpacker 的情况下如何工作

尝试使用 Rails 7、Tailwind 和 PostCSS。

我在 asset/stylesheets 中有一些样式表,我通过同一文件夹中名为 import.css 的文件导入它们。

//imports.css
@import stylesheet1.css;
@import stylesheet2.css;
Run Code Online (Sandbox Code Playgroud)

然后,我使用以下内容将该文件导入到 application.html.erb 中:

//application.html.erb
<%= stylesheet_link_tag "application", "imports", "data-turbo-track": "reload" %>
Run Code Online (Sandbox Code Playgroud)

在开发过程中,一切都按预期运行良好,与顺风配合得很好。由于 postcss,导入工作正常。然而,在生产环境(nginx、puma)中,它尝试提取这些文件并失败。对于我拥有的每个样式表,我在浏览器控制台中看到:

获取https://mywebsite.com/assets/style/stylesheet1.css net::ERR_ABORTED 404(未找到)

我正在尝试将我的大脑从 Rails 6 中的 webpacker 转移过来,不确定我需要在这里做什么......一些想法:

  1. 我是否需要进行设置,以便将样式表复制到 public/assets 文件夹或其他文件夹中?Production.rb 中是否有设置可以做到这一点?(我觉得默认情况下 Rails 应该已经这样做了)

  2. 我需要在部署时手动预编译这些资产吗?

如有帮助,将不胜感激。谢谢!

ruby ruby-on-rails asset-pipeline ruby-on-rails-7

6
推荐指数
1
解决办法
2860
查看次数