在vue项目中添加stylelint

在项目中引入stylelint的意义

  1. 保证团队代码风格一致性
  2. 提高代码质量和开发效率
  3. 优化css文件,间接性的提高渲染速度

1. 创建 .stylelintrc.cjs 配置文件

js 复制代码
module.exports = { extends: [ 'stylelint-config-standard', 'stylelint-config-standard-scss', 'stylelint-config-recommended-vue' ], plugins: ['stylelint-order'], rules: { // 指定声明块内属性的顺序 'order/properties-order': [ 'position', 'top', 'right', 'bottom', 'left', 'z-index', 'display', 'float', 'width', 'height', 'max-width', 'max-height', 'min-width', 'min-height', 'padding', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'margin', 'margin-top', 'margin-right', 'margin-bottom', 'margin-left', 'border', 'border-style', 'border-width', 'border-color', 'border-top', 'border-top-style', 'border-top-width', 'border-top-color', 'border-right', 'border-right-style', 'border-right-width', 'border-right-color', 'border-bottom', 'border-bottom-style', 'border-bottom-width', 'border-bottom-color', 'border-left', 'border-left-style', 'border-left-width', 'border-left-color', 'border-radius', 'background', 'background-color', 'background-image', 'background-repeat', 'background-position', 'background-size', 'color', 'font', 'font-family', 'font-size', 'font-weight', 'line-height', 'text-align', 'text-justify', 'text-indent', 'text-overflow', 'text-decoration', 'white-space', 'vertical-align', 'cursor', 'opacity' ], // 允许 global 关键字 'selector-pseudo-class-no-unknown': [ true, { ignorePseudoClasses: ['global'] } ], // 允许空源 'no-empty-source': null, // 允许未知单位 'unit-no-unknown': null, // 允许未知属性 'property-no-unknown': null, // 允许未知伪类选择器 'selector-pseudo-element-no-unknown': null, // 允许未知伪元素选择器 'selector-type-no-unknown': null, // 允许未知规则 'at-rule-no-unknown': null, // 允许未知函数 'function-no-unknown': null }, overrides: [ { files: ['**/*.vue'], customSyntax: 'postcss-html' }, { files: ['**/*.scss'], customSyntax: 'postcss-scss' } ] }
  

2. 创建 .stylelintignore 文件来忽略某些文件

bash 复制代码
/dist/* 
/public/* 
/node_modules/*

3. 安装相关依赖

shell 复制代码
npm install --save-dev stylelint stylelint-config-standard stylelint-config-standard-scss stylelint-config-recommended-vue stylelint-order postcss-html postcss-scss
  • stylelint: 一个强大的现代 CSS 样式检查工具,用于确保 CSS 代码的一致性和避免错误。

  • stylelint-config-standard: stylelint 的标准配置,包含一组推荐的规则,帮助你快速开始使用 stylelint。

  • stylelint-config-standard-scss: stylelint 的标准配置,专门用于 SCSS(Sass)文件,包含一组推荐的规则。

  • stylelint-config-recommended-vue: stylelint 的推荐配置,专门用于 Vue.js 项目,包含一组推荐的规则。

  • stylelint-order: 一个 stylelint 插件,用于检查和修复 CSS 属性的顺序,确保代码的一致性。

  • postcss-html : 一个 PostCSS 插件,用于解析 HTML 文件中的 <style> 标签和内联样式,允许在 HTML 文件中使用 PostCSS 处理 CSS。

  • postcss-scss: 一个 PostCSS 插件,用于解析 SCSS 文件,允许在 SCSS 文件中使用 PostCSS 处理 CSS。

4. 在项目中package.json中添加脚本

json 复制代码
{ // ... 其他配置 "scripts": { // ... 现有脚本 "stylelint": "stylelint \"src/**/*.{css,scss,vue}\"", "stylelint:fix": "stylelint \"src/**/*.{css,scss,vue}\" --fix" } }
相关推荐
HelloReader几秒前
Qt 项目构建入门CMake 完全指南(三)
前端
用户908324602737 分钟前
Spring AI + RAG + SSE 实现带搜索来源的智能问答完整方案
前端·后端
GISer_Jing12 分钟前
阿里开源纯前端浏览器自动化 PageAgent,[特殊字符] 浏览器自动化变天啦?
前端·人工智能·自动化·aigc·交互
清风徐来QCQ30 分钟前
js中的模板字符串
开发语言·前端·javascript
成都渲染101云渲染666636 分钟前
Houdini+Blender高效渲染方案(高配算力+全渲染器兼容)
前端·系统架构
SuperEugene1 小时前
Vue3 + Element Plus 表格实战:批量操作、行内编辑、跨页选中逻辑统一|表单与表格规范篇
开发语言·前端·javascript
极梦网络无忧1 小时前
基于 Vite + Vue3 的组件自动注册功能
前端·javascript·vue.js
Predestination王瀞潞1 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
爱学习的程序媛2 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
zabr2 小时前
花了 100+ 篇笔记,我整理出 了一套 AI Agent 工程完全指南
前端·后端·agent