CSS代码规范神器Stylelint全攻略:从入门到踩坑避坑

内容分享5天前发布
0 0 0

CSS代码规范神器Stylelint全攻略:从入门到踩坑避坑

一、什么是 Stylelint?前端圈的 CSS”质检员”

Stylelint 是目前最流行的 CSS 代码检查工具,能自动检测样式代码中的语法错误、不规范写法和潜在问题,支持 CSS、SCSS、Less 等多种样式语言,甚至能检查 Vue、HTML 中的嵌入式样式。

核心优势

  • 可定制性强:支持 200 + 内置规则,还能扩展社区插件
  • 生态完善:兼容 Prettier、webpack 等主流工具
  • 持续更新:2025 年 10 月刚发布 15.0.0 版本,优化规则体系

二、快速上手:3 步搞定 Stylelint 配置

1. 基础安装(CSS 项目)

# 自动初始化配置(推荐)

npm init stylelint

# 手动安装核心依赖

npm install –save-dev stylelint stylelint-config-standard

2. 场景化配置

项目类型

核心依赖

配置文件示例

普通 CSS

stylelint-config-standard

{“extends”: “stylelint-config-standard”}

SCSS 项目

stylelint-config-standard-scss

{“extends”: “stylelint-config-standard-scss”}

Vue3 项目

stylelint-config-recommended-vue

{“extends”: [“stylelint-config-standard”, “stylelint-config-recommended-vue/scss”]}

3. 运行与修复

# 检查所有样式文件

npx stylelint “**/*.{css,scss,vue}”

# 自动修复可修复问题

npx stylelint “**/*.{css,scss,vue}” –fix

三、高手必备:Stylelint 最佳实践

1. 与 Prettier 协同工作

避免格式冲突,需安装冲突屏蔽配置:

npm install –save-dev stylelint-config-prettier

配置文件:

{

“extends”: [

“stylelint-config-standard-scss”,


stylelint-config-prettier-scss” // 屏蔽与Prettier冲突的规则

]

}

2. 自定义团队规则

按项目需求定制规则,示例:

{

“rules”: {

// 限制单位使用

“unit-allowed-list”: [“%”, “deg”, “px”, “rem”],

// 强制边框用px,内边距用rem

“declaration-property-unit-allowed-list”: {

“/^border/”: [“px”],

“/^padding/”: [“rem”]

},

// 禁用ID选择器

“selector-max-id”: 0

}

}

3. 集成到开发流程

  • 编辑器实时校验:VS Code 安装 Stylelint 插件,配置自动修复:

// .vscode/settings.json

{

“editor.codeActionsOnSave”: {

“source.fixAll.stylelint”: true

},

“stylelint.validate”: [“css”, “scss”, “vue”]

}

  • 提交校验:配合 husky 在代码提交前自动检查

四、避坑指南:3 大常见问题及解决方案

1. 缩进错误:@stylistic/indentation

问题:报错Expected indentation of 2 spaces

缘由:15.0.0 版本弃用原缩进规则,需用新插件

解决

npm install @stylistic/stylelint-plugin –save-dev

{

“plugins”: [“@stylistic/stylelint-plugin”],

“rules”: {

“@stylistic/indentation”: 2

}

}

2. 多语言解析冲突

问题:同时检查 CSS 和 Vue 时解析失败

方案:用overrides配置不同文件的解析器:

{

“extends”: “stylelint-config-standard”,

“overrides”: [

{

“files”: [“**/*.vue”],

“customSyntax”: “postcss-html”

},

{

“files”: [“**/*.scss”],

“customSyntax”: “postcss-scss”

}

]

}

3. 规则失效排查

  • 检查配置文件路径:必须在项目根目录(如.stylelintrc.json)
  • 确认 extends 顺序:自定义规则需放在社区配置之后
  • 检查忽略文件:.stylelintignore 是否误排除目标文件
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...