当前位置: 首页 > news >正文

stylelint在项目中使用

  1. stylelint-order
    https://www.npmjs.com/package/stylelint-order
    https://gitee.com/mirrors_jamesarosen/stylelint-order
    官网:https://github.com/hudochenkov/stylelint-order
    a. 用法
    在这里插入图片描述
    b. order/order

在这里插入图片描述

c. order/properties-order
属性排序
在这里插入图片描述

d.order/properties-alphabetical-order
值:true,安装字母排序

'order/properties-alphabetical-order': [true,],

在这里插入图片描述
建议配置

'order/order': [['dollar-variables','custom-properties','at-rules','declarations',{type: 'at-rule',name: 'supports'},{type: 'at-rule',name: 'media'},'rules'],{severity: 'warning'}],// Specify the alphabetical order of the attributes in the declaration block'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','margin-collapse','margin-top-collapse','margin-right-collapse','margin-bottom-collapse','margin-left-collapse','overflow','overflow-x','overflow-y','clip','clear','font','font-family','font-size','font-smoothing','osx-font-smoothing','font-style','font-weight','hyphens','src','line-height','letter-spacing','word-spacing','color','text-align','text-decoration','text-indent','text-overflow','text-rendering','text-size-adjust','text-shadow','text-transform','word-break','word-wrap','white-space','vertical-align','list-style','list-style-type','list-style-position','list-style-image','pointer-events','cursor','background','background-attachment','background-color','background-image','background-position','background-repeat','background-size','border','border-collapse','border-top','border-right','border-bottom','border-left','border-color','border-image','border-top-color','border-right-color','border-bottom-color','border-left-color','border-spacing','border-style','border-top-style','border-right-style','border-bottom-style','border-left-style','border-width','border-top-width','border-right-width','border-bottom-width','border-left-width','border-radius','border-top-right-radius','border-bottom-right-radius','border-bottom-left-radius','border-top-left-radius','border-radius-topright','border-radius-bottomright','border-radius-bottomleft','border-radius-topleft','content','quotes','outline','outline-offset','opacity','filter','visibility','size','zoom','transform','box-align','box-flex','box-orient','box-pack','box-shadow','box-sizing','table-layout','animation','animation-delay','animation-duration','animation-iteration-count','animation-name','animation-play-state','animation-timing-function','animation-fill-mode','transition','transition-delay','transition-duration','transition-property','transition-timing-function','background-clip','backface-visibility','resize','appearance','user-select','interpolation-mode','direction','marks','page','set-link-source','unicode-bidi','speak']
  1. 标准用法(以less为例子)
    a. 安装依赖包
npm install -D less less-loader stylelint stylelint-config-standard stylelint-config-standard-less postcss-less stylelint-config-recommended-vue stylelint-order @stylistic/stylelint-plugin

b. 在stylelint.config.js配置
@stylistic/stylelint-plugin 可选

export default {root: true,extends: ['stylelint-config-standard', '@stylistic/stylelint-plugin'],plugins: ['stylelint-order',],overrides: [{files: ['*.(html|vue)', '**/*.(html|vue)'],customSyntax: 'postcss-html',extends: ['stylelint-config-recommended-vue'],rules: {'selector-pseudo-class-no-unknown': [true,{ignorePseudoClasses: ['global', 'deep'],},],'selector-pseudo-element-no-unknown': [true,{ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted'],},],},},{files: ['*.less', '**/*.less'],customSyntax: 'postcss-less',extends: ['stylelint-config-standard-less'],rules: {'selector-pseudo-class-no-unknown': [true,{ignorePseudoClasses: ['global', 'deep'],},],},},{files: ['*.scss', '**/*.scss'],customSyntax: 'postcss-scss',extends: ['stylelint-config-recommended-scss', 'stylelint-config-recommended-vue/scss'],},],rules: {'selector-pseudo-class-no-unknown': [true,{ignorePseudoClasses: ['global'],},],'selector-pseudo-element-no-unknown': [true,{ignorePseudoElements: ['v-deep'],},],'at-rule-no-unknown': [true,{ignoreAtRules: ['tailwind','apply','variants','responsive','screen','function','if','each','include','mixin',],},],'no-empty-source': null,'named-grid-areas-no-invalid': null,'no-descending-specificity': null,'font-family-no-missing-generic-family-keyword': null,'at-rule-empty-line-before': null,// 'declaration-block-trailing-semicolon': 'always','rule-empty-line-before': ['always',{ignore: ['after-comment', 'first-nested'],},],'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],'order/order': [['dollar-variables','custom-properties','at-rules','declarations',{type: 'at-rule',name: 'supports',},{type: 'at-rule',name: 'media',},'rules',],{severity: 'warning',},],// Specify the alphabetical order of the attributes in the declaration block'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','margin-collapse','margin-top-collapse','margin-right-collapse','margin-bottom-collapse','margin-left-collapse','overflow','overflow-x','overflow-y','clip','clear','font','font-family','font-size','font-smoothing','osx-font-smoothing','font-style','font-weight','hyphens','src','line-height','letter-spacing','word-spacing','color','text-align','text-decoration','text-indent','text-overflow','text-rendering','text-size-adjust','text-shadow','text-transform','word-break','word-wrap','white-space','vertical-align','list-style','list-style-type','list-style-position','list-style-image','pointer-events','cursor','background','background-attachment','background-color','background-image','background-position','background-repeat','background-size','border','border-collapse','border-top','border-right','border-bottom','border-left','border-color','border-image','border-top-color','border-right-color','border-bottom-color','border-left-color','border-spacing','border-style','border-top-style','border-right-style','border-bottom-style','border-left-style','border-width','border-top-width','border-right-width','border-bottom-width','border-left-width','border-radius','border-top-right-radius','border-bottom-right-radius','border-bottom-left-radius','border-top-left-radius','border-radius-topright','border-radius-bottomright','border-radius-bottomleft','border-radius-topleft','content','quotes','outline','outline-offset','opacity','filter','visibility','size','zoom','transform','box-align','box-flex','box-orient','box-pack','box-shadow','box-sizing','table-layout','animation','animation-delay','animation-duration','animation-iteration-count','animation-name','animation-play-state','animation-timing-function','animation-fill-mode','transition','transition-delay','transition-duration','transition-property','transition-timing-function','background-clip','backface-visibility','resize','appearance','user-select','interpolation-mode','direction','marks','page','set-link-source','unicode-bidi','speak',],},ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
};
  1. .settings.json配置
"source.fixAll.stylelint": "explicit""stylelint.enable": true,"stylelint.validate": ["css","less","scss","pcss","postcss","vue"],

在这里插入图片描述

"source.fixAll.stylelint": "explicit""stylelint.enable": true,"stylelint.validate": ["css","less","scss","pcss","postcss","vue"],
http://www.xdnf.cn/news/1387495.html

相关文章:

  • 构筑沉浸式3D世界:渲染、资源与体验的协同之道
  • 牛客网 DP35 二维前缀和
  • 【算法】链表专题
  • C#连接SQL-Server数据库超详细讲解以及防SQL注入
  • 零基础json入门教程(基于vscode的json配置文件)
  • 序列化和反序列的学习
  • 医疗AI时代的生物医学Go编程:高性能计算与精准医疗的案例分析(五)
  • Word - Word 查找文本中的特定内容
  • Redis vs Elasticsearch:核心区别深度解析
  • c++二叉搜索树
  • 在Linux的环境下安装GitLab(保姆级别)
  • Ubuntu下的压缩及解压缩
  • Llama-index学习文档
  • AI驱动万物智联:IOTE 2025深圳展呈现无线通信×智能传感×AI主控技术融合
  • 【Python办公】CSV按列去重工具
  • LangChain实战(三):深入理解Model I/O - Prompts模板
  • 聊聊Prompt Engineering (提示词工程)
  • Rust Web框架Axum学习指南之响应和异常封装
  • websocket建立连接过程
  • AI供应链优化+AI门店排班:蜜雪冰城降本20%、瑞幸提效的AI商业落地实战
  • 港科大开放世界长时域具身导航!LOVON:足式机器人开放词汇目标导航
  • LeetCode Hot 100 Python (1~10)
  • 1 分钟 Maya 动画渲染要多久?5 天还是 5 小时
  • linux系统学习(15.启动管理)
  • 第一百零二章:AI的“未来电影制片厂CEO”:多模态系统落地项目实战(完整 AI 视频创作平台)
  • 极飞科技AI智慧农业实践:3000亩棉田2人管理+产量提15%,精准灌溉与老农操作门槛引讨论
  • 组件的生命周期:`useEffect` 的威力与副作用处理
  • 随机森林的 “Bootstrap 采样” 与 “特征随机选择”:如何避免过拟合?(附分类 / 回归任务实战)
  • 华为云CCE的Request和Limit
  • Ethercat主从站移植时的问题记录(二)—无法进入OP状态且从站PDI中断不触发