记录一次错误修复Unknown word CssSyntaxError

在使用 Arco Pro 遇到的问题:Unknown word CssSyntaxError。

在编写系统代码的时候没发现,提交代码时,自动触发了代码规范检查的钩子,造成代码一直无法提交,把解决办法记录一下。

Unknown word CssSyntaxError

可能还会出现这样的描述信息:

When linting something other than CSS, you should install an appropriate syntax, e.g. "postcss-html", and use the "customSyntax" option

然后就找到了 stylelint 的官网 https://stylelint.io/migration-guide/to-14/ ,这个页面列出了使用各种语言的语法配置。

为每种语言提供了其他共享配置:

stylelint-config-recommended-vue ... Shared config for Vue. stylelint-config-html ... Shared config that enables parsing for HTML, XML, Vue, Svelte, and PHP.

选择第一个针对vue的配置,进入到 https://www.npmjs.com/package/stylelint-config-recommended-vue 插件页面。

但是先不要安装 ,往下看:

但是,某些文体规则可能不适用于 Vue。我们建议您改为安装 stylelint-config-standard-vue。

所以直接安装 stylelint-config-standard-vue即可。

npm install --save-dev postcss-html stylelint-config-standard-vue

修改配置文件:stylelint,可能是js、json后缀的文件。

"extends": "stylelint-config-standard-vue"
"customSyntax": "postcss-html",

到这里就解决了上面的问题。

另外,对于其他语言和嵌入式样式,我们建议使用以下 PostCSS 语法:

  • Less language (.less) use postcss-less
  • Sass language (.sass) use postcss-sass
  • CSS-in-JS embeds (.js, .jsx, .ts etc.) use @stylelint/postcss-css-in-js
  • HTML, XML and HTML-like embeds (.html, .xml, .svelte, .vue etc.) use postcss-html
  • Markdown embeds (.md, .markdown etc.) use postcss-markdown
    PS:提交的时候又遇到的问题😭。
  • subject may not be empty [subject-empty]