本文转载于SegmentFault社区

作者:Lewis92


前言

stylelint 是一个强大和现代的 CSS 审查工具,有助于开发者推行统一的代码规范,避免样式错误。其支持 less、sass 这类预处理器,目前 stylelint 有一百多条校验规则,并且还在逐步增加。


一、stylelint 具体什么作用

stylelint 有一百多条校验规则, 这些规则可以分为三类:

  • 用于校对风格的规则:针对空格(比如说冒号附近的空格)、换行、缩进等等。

  • 用于判别代码可维护性的规则:判断在CSS选择器中是否有使用某个ID,或者在某条声明当中是否应用了important关键词。

  • 用于判断代码错误的规则:检测错误的HEX颜色写法或者某条简写属性是否会覆盖其他的声明语句。


二、安装依赖

1.安装 stylelint

npm i -D stylelint stylelint-config-stand

2.安装适配预处理语法的插件,以 sass 为例:

npm i -D stylelint-scss

3.安装 webpack 插件

npm i -D stylelint-webpack-plugin


三、通过 npm 命令运行

// package.json{ "scripts": { "lint:css": "stylelint **/*.{html,vue,css,sass,scss,less}" }}

可以手动在命令行运行:

npm run lint:css


四、通过 webpack 插件运行

// vue.config.jsconst StyleLintPlugin = require('stylelint-webpack-plugin');module.exports = { ... configureWebpack: { plugins: [new StyleLintPlugin({ files: ['**/*.{vue,htm,html,css,sss,less,scss,sass}'], fix: false, // 是否自动修复 cache: true, // 是否缓存 emitErrors: true, failOnError: false, })], },};


五、编写配置

按以下顺序查找,任何一项有值,就会结束查找

1.在 package.json 中的 stylelint 属性指定规则

2.在 .stylelintrc 文件中指定,文件格式可以是 JSON 或 YAML。也可以给该文件加扩展名,.stylelintrc.json、 .stylelintrc.yaml、 .stylelintrc.yml、 .stylelintrc.js。

3.stylelint.config.js 文件,该文件 exports 一个配置对象

rules

默认情况下未打开任何规则,也没有默认值。必须明确配置每个规则才能将其打开

defaultSeverity

只支持 “warning" 和 ”error" 两种,用于定义全局默认的报错等级

extends

可以扩展现有配置(无论是自己的配置还是第三方配置)

plugins

插件是社区构建的规则或规则集,支持方法,工具集,非标准 CSS功能或非常特定的用例。

processors

处理器是由社区构建的功能,它们挂接到stylelint的管道中,在其进入stylelint的过程中修改代码,并在其退出时修改结果。

我们不鼓励使用内置语法因为处理器与autofix功能不兼容。

ignoreFiles

忽略特定文件,node_modules 是默认情况下忽略的目录。但是,如果 ignoreFiles 设置了,则将其覆盖。

注意: 这不是忽略大量文件的有效方法。如果您想有效地忽略很多文件,请使用 .stylelintignore 或调整文件范围。

// stylelint.config.jsmodule.exports = { defaultSeverity: 'error', extends: ['stylelint-config-standard'], // 官方推荐 rules: { },};


六、忽略文件

在项目跟目录添加.stylelintignore 文件,配置规则与 .gitignore 、.eslintignore 规则一样。

# .stylelintignore# 旧的不需打包的样式库*.min.css# 其他类型文件*.js*.jpg*.png*.eot*.ttf*.woff*.json# 测试和打包目录/test//dist/


七、stylelint 与 eslint 同时使用 git-hooks 配置

// package.json{ ... "lint-staged": { "*.{html,vue,css,sass,scss,less}": [ "npm run lint:css" ] }, "gitHooks": { "pre-commit": "lint-staged" },}

- END -

rules不显示 vue_使用stylelint规范vue项目相关推荐

  1. (七)Vue 项目规范

    Vue 项目规范 Vue 编码基础 组件规范 模板中使用简单的表达式 指令都使用缩写形式 标签顺序保持一致 必须为 v-for 设置键值 key v-show 与 v-if 选择 script 标签内 ...

  2. electron打包现成的vue项目成.exe文件,build打包vue项目(quasar 框架)

    前言: 公司已有web端vue项目,现在有需求,需要把web端的该项目用electron打包成 .exe 可执行文件. 思考:打包成 .exe 文件,首先需要将vue项目在本地打包成静态可运行文件,其 ...

  3. 小试牛刀:百度LS轻量服务器+Centos7.9+PuTTY+Nginx,部署Vue项目

    简单将vue项目部署到云服务器上 百度LS轻量服务器 PuTTy 远程登录 防火墙配置与开放端口 Ngnix安装配置 检查是否已经安装了nginx 安装nginx必要的依赖库 gcc pcre zli ...

  4. vue项目中引入iconfont

    背景 对于前端而言,图标的发展可谓日新月异.从img标签,到雪碧图,再到字体图标,svg,甚至svg也有了类似于雪碧图的方案svg-sprite-loader.雪碧图没有什么好讲的了,只是简单地利用了 ...

  5. 利用vscode stylelint插件实现ctrl+s自动格式化vue项目中的css、scss

    vscode stylelint使用 1. vscode stylelint插件安装及配置 vscode stylelint插件版本 vscode中配置stylelint和开启自动修复 2. 安装st ...

  6. vue项目中开启Eslint碰到的一些问题及其规范

    eslint是一种代码风格管理的工具,可以制定一些代码编写规范,在vue项目中经常用到 1.'layer' is defined but never used   这是定义了一个变量但是未使用到该变量 ...

  7. 前端开发规范——Vue

    Vue 规范 1. 项目结构 1.1 项目目录结构 ★ [强制] 参照vue标准文件目录 示例: node_nodules/ public/ src/ |- api ----------------- ...

  8. vue项目在IE中显示空白,报错:vuex requires a Promise polyfill in this browser

    问题描述 vue项目在非IE内核的浏览器中显示正常,在IE内核浏览器中报错,并显示空白.报错如下: SCRIPT5022:  [vuex] vuex requires a Promise polyfi ...

  9. npm安装vue_零基础入门vue开发

    上面一节我们已经成功的安装了nodejs,并且配置了npm的全局环境变量,那么这一节我们就来正式的安装vue-cli,然后在webstorm开发者工具里运行我们的vue项目. 这一节有两种创建vue项 ...

最新文章

  1. java学习笔记:使用dom4j解析xml
  2. centos7 apache2.4 测试
  3. 面试题 - 两个页面间如何传递数据
  4. CentOS 7.4 下 如何部署 AspNetCore 结合 consul
  5. Jersey中ContainerRequestFilter的使用
  6. 【SpringCloud】服务注册之 zookeeper
  7. mysql一秒查询次数_单个select语句实现MySQL查询统计次数
  8. java里正数和负数_Java程序检查数字是正数还是负数
  9. Spring中的InitializingBean接口
  10. Nginx 学习--初级篇,Nginx 认识以及作用
  11. matlab直接终止程序,怎么终止matlab程序
  12. 新手初识安信可ESP8266 12f机智云开发板微信直连云
  13. RSA 非对称加密之 PKCS8 格式秘钥
  14. 多媒体技术是指运用计算机,多媒体技术的概念与应用
  15. 关于商业计划书(Business Project,以下简称BP)写作那些事儿(一)
  16. 如何保证投票公平_怎样设置投票活动规则才能保持公平性呢?
  17. Codeforces 106 Buns【多重背包】
  18. 烟花绽放c语言程序设计摘要,描写烟花绽放的优美句子
  19. 判断字符串中哪个字符出现的次数最多?
  20. JS/Jquery版本的俄罗斯方块(附源码分析)

热门文章

  1. Bootstrap页面布局13 - BS按钮
  2. GeoServer 数据导出
  3. .NET 将数据输出到WORD、EXCEL、TXT、HTM
  4. [恢]hdu 2047
  5. redis主从复制如何保证数据一致性_面试官:Redis 主从复制时网络开小差了怎么整?...
  6. 神经网络迭代次数的简并和不可约谱项
  7. centos 安装vscode_CentOS6下安装VSCode
  8. 24小时临时邮箱_免费临时邮箱和接码平台
  9. uclibc和glibc的差别
  10. 基于PSO的运输优化算法的MATLAB仿真