跳至主要内容

编写自定义语法

自定义语法是 PostCSS 语法,由社区编写,以支持其他样式语言(例如 SCSS)和容器(例如 HTML),使用 customSyntax 选项

要编写一个,请熟悉 PostCSS 的 如何编写自定义语法 指南。您可以使用 很棒的 Stylelint 中的现有自定义语法之一作为参考。

例如

import postcss from "postcss";

function parse(css, opts) {
const root = postcss.root();
// adding other nodes to root...
return root;
}

function stringify(node, builder) {
// just use the default stringifier
postcss.stringify(node, builder);

// or write custom stringifier...
}

export default { parse, stringify };

发布自定义语法后,建议您创建一个共享配置,该配置

  • 扩展 标准配置
  • 捆绑您的自定义语法
  • 关闭任何不兼容的内置规则

所有这些都在支持的文件扩展名的 overrides 中。

例如,如果您正在为名为“foo”的语言(使用文件扩展名 .foo)创建自定义语法,建议您创建一个名为“stylelint-config-standard-foo”的共享配置,其内容如下

import yourCustomSyntax from "postcss-your-custom-syntax";

export default {
overrides: [
{
files: ["*.foo", "**/*.foo"],
customSyntax: yourCustomSyntax,
extends: ["stylelint-config-standard"],
rules: {
"at-rule-no-unknown": null
// ..
}
}
]
};

建议在 PostCSS v7 不再流通之前要求使用自定义语法。