Vue3.5 + Vite6.x 项目的完整 Stylelint 配置方案,支持 .vue/.html 内联样 ...

打印 上一主题 下一主题

主题 1832|帖子 1832|积分 5506

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Vue3.5 + Vite6.x 项目的完整 Stylelint 配置方案,支持 .vue/.html 内联样式、Less/SCSS/CSS 等多种文件类型

一、完整依赖安装

  1. npm install --save-dev
  2.   stylelint
  3.   stylelint-config-standard
  4.   postcss-html           # 解析 Vue/HTML 文件中的样式
  5.   postcss-scss           # 解析 SCSS 语法
  6.   postcss-less           # 解析 LESS 语法
  7.   stylelint-config-recommended-vue   # Vue 文件支持
  8.   stylelint-less          # LESS 专属规则
  9.   stylelint-scss          # SCSS 专属规则
  10.   stylelint-no-unresolved-module  # 路径解析
复制代码
二、完整配置文件 .stylelintrc.json

  1. {
  2.   "extends": [
  3.     "stylelint-config-standard",
  4.     "stylelint-config-recommended-vue",
  5.     "stylelint-less",
  6.     "stylelint-scss"
  7.   ],
  8.   "plugins": ["stylelint-no-unresolved-module"],
  9.   "overrides": [
  10.     {
  11.       "files": ["**/*.vue", "**/*.html"],
  12.       "customSyntax": "postcss-html"
  13.     },
  14.     {
  15.       "files": ["**/*.scss"],
  16.       "customSyntax": "postcss-scss"
  17.     },
  18.     {
  19.       "files": ["**/*.less"],
  20.       "customSyntax": "postcss-less"
  21.     }
  22.   ],
  23.   "rules": {
  24.     // 通用规则
  25.     "selector-pseudo-class-no-unknown": [
  26.       true,
  27.       { "ignorePseudoClasses": ["deep", "global", "slotted"] }
  28.     ],
  29.     "selector-pseudo-element-no-unknown": [
  30.       true,
  31.       { "ignorePseudoElements": ["v-deep", "v-global", "v-slotted"] }
  32.     ],
  33.     "at-rule-no-unknown": [
  34.       true,
  35.       { "ignoreAtRules": ["tailwind", "apply", "layer", "config", "mixin", "include"] }
  36.     ],
  37.     // LESS 专属规则
  38.     "less/no-undef-variables": true,
  39.     "less/color-no-invalid-hex": true,
  40.     // SCSS 专属规则
  41.     "scss/at-rule-no-unknown": [
  42.       true,
  43.       { "ignoreAtRules": ["tailwind", "apply", "layer", "config", "mixin", "include"] }
  44.     ],
  45.     // 路径解析规则
  46.     "plugin/no-unresolved-module": {
  47.       "alias": {
  48.         "@": "./src"
  49.       }
  50.     }
  51.   }
  52. }
复制代码
三、配套文件配置


  • package.json 脚本
  1. "scripts": {
  2.   "stylelint": "stylelint src/**/*.{html,vue,css,scss,less}",
  3.   "stylelint:fix": "stylelint --fix src/**/*.{html,vue,css,scss,less}"
  4. }
复制代码

  • 忽略文件 .stylelintignore
  1. # .stylelintignore
  2. # 旧的不需打包的样式库
  3. *.min.css
  4. # 其他类型文件
  5. *.js
  6. *.jpg
  7. *.png
  8. *.eot
  9. *.ttf
  10. *.woff
  11. *.json
  12. # 测试和打包目录
  13. /test/
  14. /dist/
  15. /node_modules/
  16. /lib/
复制代码

  • Vite 集成配置 (vite.config.js)
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import stylelintPlugin from 'vite-plugin-stylelint'
  4. export default defineConfig({
  5.   plugins: [
  6.     vue(),
  7.     stylelintPlugin({
  8.       fix: true,
  9.       include: ['src/**/*.{vue,css,scss,less,html}'],
  10.       exclude: ['node_modules']
  11.     })
  12.   ]
  13. })
复制代码
四、

1、SCSS @use 语法报错

  1. {
  2.   "rules": {
  3.     "scss/at-rule-no-unknown": [
  4.       true,
  5.       { "ignoreAtRules": ["use", "forward"] }
  6.     ]
  7.   }
  8. }
复制代码
2、Vue3 :deep() 伪类告诫

  1. {
  2.   "rules": {
  3.     "selector-pseudo-class-no-unknown": [
  4.       true,
  5.       { "ignorePseudoClasses": ["deep", "slotted", "global"] }
  6.     ]
  7.   }
  8. }
复制代码
3、解析 .vue 文件中的

  1. {
  2.   "overrides": [
  3.     {
  4.       "files": ["**/*.vue"],
  5.       "customSyntax": "postcss-html"  // 关键配置
  6.     }
  7.   ]
  8. }
复制代码
4、变量未辨认(以 LESS 为例)

  1. {
  2.   "rules": {
  3.     "less/no-undef-variables": true  // 检查未定义变量
  4.   }
  5. }
复制代码
5、@import 路径报错

  1. {
  2.   "plugins": ["stylelint-no-unresolved-module"],
  3.   "rules": {
  4.     "plugin/no-unresolved-module": {
  5.       "alias": {
  6.         "@": "./src"  // 配置路径别名
  7.       }
  8.     }
  9.   }
  10. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表