CSS processors
CSS processors
linter支持当前和未来的CSS语法。这包括所有标准CSS以及使用标准CSS语法结构的特殊功能,例如特殊的规则,特殊属性和特殊功能。一些类似
CSS的语言扩展 - 使用非标准语法结构的特性 - 因此受到支持; 然而,由于存在无限的处理可能性,因此linter不能支持所有内容。
您可以在css处理器之前或之后运行linter。根据您使用的处理器,每种方法都有警告:
之前
:某些插件/处理器可能启用与linter不兼容的语法。
在这两种情况下,您都可以关闭不兼容的linter规则,或者停止使用不兼容的插件/处理器。
您还可以处理插件/处理器作者并请求替代格式化选项,以使其插件/处理器与stylelint兼容。
解析非标准语法
默认情况下,linter可以使用特殊的PostCSS解析
器解析
任何以下非标准语法:
- SCSS(使用
postcss-scss
)
非标准语法可以自动从下列文件扩展名推断出:
.less,
.scss,和
.sss。
但是,如果您需要指定非标准语法,则CLI和Node API都会公开一个syntax
选项。
- 如果您使用的是CLI,请使用以下
syntax
标志:stylelint ... --syntax scss
。
此外,使用CLI或Node API时,stylelint可以接受与PostCSS兼容的自定义语法。对于自定义语法,请分别使用custom-syntax
和customSyntax
选项。
- 如果您使用的是CLI,请使用如下
custom-syntax
标志:stylelint ... --custom-syntax custom-syntax-module
或stylelint ... --custom-syntax ./path/to/custom-syntax-module
。
如果你使用linter作为PostCSS插件,你需要使用特殊的解析器直接使用PostCSS的syntax
选项,如下所示:
var postcss = require("postcss")
var scss = require("postcss-scss")
// or use "postcss-less" or "sugarss"
postcss([
require("stylelint"),
require("reporter")
])
.process(css, {
from: "lib/app.css",
syntax: scss
})
})