开源比较流行的CSS lint方案:csslint、SCSS-Lint、Stylelint。javascript
咱们团队选择Stylelint,缘由以下:css
按顺序查找,任何一项有值,就会结束查找html
在package.json
中的stylelint
属性指定规则前端
在.stylelintrc
文件中指定,文件格式能够是JSON
或者YAML
。也能够给该文件加后缀,像这样:.stylelintrc.json
,.stylelintrc.yaml
,.stylelintrc.yml
,.stylelintrc.js
java
stylelint.config.js
文件,该文件exports
一个配置对象span>git
rules优先级大于extends,建议采用extends方式统一管理github
module.exports = {
processors: [],
plugins: [],
extends: "stylelint-config-standard", // 这是官方推荐的方式
rules: {
"at-rule-empty-line-before": "always"|"never",
"at-rule-name-case": "lower"|"upper",
"block-no-empty": true,
}
};
复制代码
stylelint
已有规则进行扩展,通常能够支持一些非标准的css
语法检查或者其余特殊用途。一个插件会提供一个或者多个检查规则stylelint
的处理流中加入本身的处理函数,就是这里的processors
。 processors
只能做为命令和Node API使用,PostCss
的插件会忽略它们。 经过processors
,咱们可让styleline
去处理html
中style
标签里面的css
代码,MarkDown
里面的css
代码块或者js
里面一段包含css
的字符串。// .stylelintignore
*.js
*.png
*.eot
*.ttf
*.woff
复制代码
/* stylelint-disable */
/* (请说明禁止检测的理由)前端组件限制类名 */
.cropper_topContainer .img-preview {
border: 0 none;
}
/* stylelint-enable */
复制代码
stylelint --fix 就能搞定 更多语法规则web
webstorm能够配置external tools实现autofix,添加keymap快捷键,若是但愿在保存时自动fix,参考这里json
external tool 配置内容:less
若是 browse repositories 中下载不了,能够去 官网下载对应插件 在 plugins-> install plugin from disk安装
规则制按期:本阶段先定制规则文件,并要求组内成员在编辑器或IDE 安装stylelint 插件辅助平常开发中使用。使用过程当中可针对遇到的状况进行讨论并适当调整具体stylelint 规则。
规则过渡期:本阶段要求成员在开发过程当中抽出时间对之前项目的代码进行优化。
规则监督期:本阶段将探索创建相应的自动化监督机制并在平常开发中施行下去。在precommit钩子中强制执行规则
参考: