Rails - 链轮无法识别 scss 文件

问题描述

我最近将我的 Sprockets 从 3.7.2 升级到 4.0.2,从那以后我的 application.css 文件无法识别用 scss 编写的文件之一:

 *= require editor/content-tools.scss
 *=/ require_tree .
 *=/ require_self
 */

(editor/content-tools.scss 位于供应商中,而不是应用程序/资产中)。

当我尝试执行它时,我收到此错误

ActionView::Template::Error(找不到类型为“text/css”的文件“editor/content-tools.scss”

Sprockets 正在寻找“text/css”类型的文件,如果我将文件重命名为 content-tools.css,它会停止产生错误,从而消除与路径发现相关的可能问题。

所以我的问题是如何告诉链轮检查在我的 application.css 中查找扩展名为 .scss 的文件,就像以前一样?

解决方法

来自sass-rails

Sprockets 提供了一些指令,它们放置在名为 require、require_tree 和 require_self 的注释中。不要在你的 SASS/SCSS 文件中使用它们。它们非常原始,不能很好地处理 Sass 文件。相反,请使用 Sass 的原生 @import 指令,该指令是 sass-rails 自定义的以与您的 Rails 项目的约定集成。

所以你可以通过以下方式实现:

  1. Fatal error: Uncaught ArgumentCountError: Too few arguments to function has_product_categories() 重命名为 application.css

  2. 使用 application.scss 语法代替 import

require

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...