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-syntaxcustomSyntax选项。

  • 如果您使用的是CLI,请使用如下custom-syntax标志:stylelint ... --custom-syntax custom-syntax-modulestylelint ... --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 }) })