访问 tailwind.config.js 文件(在 scss 文件中)中定义的颜色值时出现问题
Problems accessing the color value defined in the tailwind.config.js file (in scss file)
在使用 Tailwind 的项目中,我需要使 tailwind.config.js 中定义的颜色变暗(直接在 scss 文件中)。
@debug "Darken Color: #{darken(theme("colors.gray.500"), 10%)}";
这导致错误:
SassError: $color: theme("colors.gray.500") is not a color.
然而,当我使用符号“theme("colors.gray.500")”作为值而不是 darken 函数的参数时,它可以正常工作。
你能解释一下我错在哪里以及如何获取配置文件中定义的颜色值吗?
谢谢
发生这种情况是因为 SASS 先处理了。处理样式的通常顺序是 sass-loader -> postcss->loader -> css-loader
。 Tailwind 由 PostCSS 处理,因此 SASS 对 theme()
指令一无所知
我在文档中找到了 this
The most important thing to understand about using Tailwind with a preprocessor is that preprocessors like Sass, Less, and Stylus run separately, before Tailwind. This means that you can’t feed output from Tailwind’s theme() function into a Sass color function for example, because the theme() function isn’t actually evaluated until your Sass has been compiled to CSS and fed into PostCSS.
在使用 Tailwind 的项目中,我需要使 tailwind.config.js 中定义的颜色变暗(直接在 scss 文件中)。
@debug "Darken Color: #{darken(theme("colors.gray.500"), 10%)}";
这导致错误:
SassError: $color: theme("colors.gray.500") is not a color.
然而,当我使用符号“theme("colors.gray.500")”作为值而不是 darken 函数的参数时,它可以正常工作。
你能解释一下我错在哪里以及如何获取配置文件中定义的颜色值吗?
谢谢
发生这种情况是因为 SASS 先处理了。处理样式的通常顺序是 sass-loader -> postcss->loader -> css-loader
。 Tailwind 由 PostCSS 处理,因此 SASS 对 theme()
指令一无所知
我在文档中找到了 this
The most important thing to understand about using Tailwind with a preprocessor is that preprocessors like Sass, Less, and Stylus run separately, before Tailwind. This means that you can’t feed output from Tailwind’s theme() function into a Sass color function for example, because the theme() function isn’t actually evaluated until your Sass has been compiled to CSS and fed into PostCSS.