css - 当 `stylelint-scss` 告诉我使用 `list.nth` 时,为什么 SCSS 会抱怨?
问题描述
我这里有点情况。
我在 React 应用程序中使用 SCSS 并使用sass-loader
我的 SCSS/CSSstylelint
和它的扩展名进行lint stylelint-scss
。
我从这里借了一些代码:https ://medium.com/dev-channel/using-sass-to-automatically-pick-text-colors-4ba7645d2796 ,我正在尝试在我的文件中使用它。这是我的方法:
@function luminance($color) {
$red: nth(linear-channel-values(), red($color) + 1);
$green: nth(linear-channel-values(), green($color) + 1);
$blue: nth(linear-channel-values(), blue($color) + 1);
@return 0.2126 * $red + 0.7152 * $green + 0.0722 * $blue;
}
于是stylelint-scss
向我抱怨:
WARNING in
src/assets/scss/helpers.scss
282:9 ✖ Expected list.nth instead of nth scss/no-global-function-names
282:38 ✖ Expected color.red instead of red scss/no-global-function-names
283:11 ✖ Expected list.nth instead of nth scss/no-global-function-names
283:40 ✖ Expected color.green instead of green scss/no-global-function-names
284:10 ✖ Expected list.nth instead of nth scss/no-global-function-names
284:39 ✖ Expected color.blue instead of blue scss/no-global-function-names
好的,所以我将nth
函数调用更改为list.nth
... 然后我收到另一个投诉:
@use "sass:color";
@use "sass:list";
@function luminance($color) {
$red: list.nth(linear-channel-values(), color.red($color) + 1);
$green: list.nth(linear-channel-values(), color.green($color) + 1);
$blue: list.nth(linear-channel-values(), color.blue($color) + 1);
@return 0.2126 * $red + 0.7152 * $green + 0.0722 * $blue;
}
ERROR in ./src/assets/scss/index.scss (./node_modules/css-loader/dist/cjs.js??ref--6-1!./node_modules/postcss-loader/src??ref--6-2!./node_modules/sass-loader/dist/cjs.js!./node_modules/resolve-url-loader!./src/assets/scss/index.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Invalid CSS after " $red: list": expected expression (e.g. 1px, bold), was ".nth(linear-channel"
on line 282 of src/assets/scss/helpers.scss
from line 7 of /Users/ogabay/Projects/mercury/app/pennypal/src/assets/scss/index.scss
>> $red: list.nth(linear-channel-values(), color.red($color) + 1);
------------^
@ ./src/assets/scss/index.scss 2:26-262 43:4-64:5 46:18-254
@ ./src/index.jsx
这里的问题是stylelint-scss
orsass-loader
吗?
解决方案
推荐阅读
- reactjs - next.js 无法读取图片
- java - 打印数组的所有子集
- java - Java 逻辑无法在 Excel 中读取基于公式的单元格
- c# - winforms c#中的文本框自动完成选项
- php - 电子邮件正文和标题在 Laravel 中不起作用
- c# - 停止所有代码执行直到满足条件(Unity C#)
- git - 如何在 Git Bash 中找出特定分支中文件的文件路径?
- python - 无法从“变压器”导入名称“TFBertForQuestionAnswering”
- segmentation-fault - for 循环中 J 的随机值且不执行终止
- dialogflow-es - 此设备不支持 HtmlResponse