gpt4 book ai didi

ruby-on-rails - 预编译时的 Sass undefined variable

转载 作者:行者123 更新时间:2023-12-04 09:05:18 25 4
gpt4 key购买 nike

我正在将我们的 Rails (3.2.17) 应用程序升级到 sass,并且在 Assets 预编译期间遇到了“ undefined variable ”错误。我使用@import 将我的片段包含在 master.scss 文件中。此设置在本地运行良好,但在预编译时出错。解决错误的唯一方法是将代码段@import 到引用第一个代码段中定义的mixin 和变量的代码段中。

例如:我 @import 'fonts' 和 'buttons' 到 master.scss 中,然后我必须第二次 @import 'fonts' 到 'buttons' 中,因为它使用了在 'fonts' 中定义的变量。这绕过了预编译错误,但这并不理想,因为现在有两个实例被加载到应用程序中,而不是只有一个“字体”实例。

当我不预编译时,@只将所有片段一次性导入 master.scss 会在本地工作。必须有一个解决方案。有什么想法吗?

最佳答案

您看到此错误是因为您使用的是 application.cssrequire指示。

来自 SASS rails 文档。

Sprockets provides some directives that are placed inside of comments called require, require_tree, and require_self. DO NOT USE THEM IN YOUR SASS/SCSS FILES. They are very primitive and do not work well with Sass files. Instead, use Sass's native @import directive which sass-rails has customized to integrate with the conventions of your Rails projects.



只需重命名您的 application.cssapplication.css.scss (使用 .sass 对我不起作用)。删除除 require self 以外的所有内容.包括您的全局 @import那里的声明。

额外的一点是,您需要将所有 css 文件添加为 @import手动发送到您的 application.css.scss .我通常创建一个文件夹 app/assets/stylesheets/app并添加 @import app/**/*作为 application.css.scss 的最后一个条目

我希望这有帮助。

关于ruby-on-rails - 预编译时的 Sass undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22412230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com