iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >怎样引入代码检查工具stylelint
  • 411
分享到

怎样引入代码检查工具stylelint

2023-06-21 20:06:18 411人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎样引入代码检查工具stylelint,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言团队合作时,当每个人的代码都拥有自定义的格式化方式时,在提交merge的时

这篇文章将为大家详细讲解有关怎样引入代码检查工具stylelint,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    前言

    团队合作时,当每个人的代码都拥有自定义的格式化方式时,在提交merge的时候往往要解决很多冲突,此时我们可以使用eslint+stylelint来对团队的代码进行约束。

    正文

    stylelint是一个强大的,现代的代码检查工具,可以帮助你在团队合作中强制执行样式约定。

    1. 安装stylelint

    yarn add -D stylelint

    2. 配置文件

    使用 stylelint检测器需要一个配置对象,你可以使用三种方式来创建这个对象。

    package.JSON 中的stylelint 属性。

    .stylelintrc.js文件

    stylelint.config.js 文件输出的js对象

    一旦发现它们中的任何一个,将不再继续进行查找,进行解析,将使用解析后的对象。 本次使用的是.stylelintrc.js 文件来进行配置。

    3. 使用stylelint

    安装官方文档的说法你可以按照以下方法运行stylelint检测样式代码。

    --fix 用来自动修复,但不能修复所有的问题。

    // package.json"scripts":{  "lint:CSS":"stylelint src*.css --fix"}
    踩坑点1:

    由于我的项目里使用的样式语言是less。所以检测css是肯定不对的,所以这里我们需要做一点改动

    // package.json"scripts":{  "lint:css":"stylelint src*.less --fix"}

    于是我们可以运行这串代码了

    yarn lint:css postcss-less

    大家可以看到,这里报了一些提醒,简单翻译为让我们用对应的语法去解析我们的样式。而这对应的语法解析器是需要我们去安装的。

    yarn add -D   postcss-less

    于是再次对脚本进行修改。

    // package.json"scripts":{  "lint:css":"stylelint src*.less --fix  --custom-syntax postcss-less"}

    OK 到这里我们就可以正常的去跑lint命令对我们的样式代码进行格式化了。接下来我们来配置lint规则

    4. 配置规则

    我们首先需要安装三个npm包帮助我们完善规则

    yarn add -D stylelint-config-standard stylelint-order stylelint-config-css-modules

    stylelint-config-standard 是stylelint的推荐配置,stylelint-order是用来在格式化css文件时对代码的属性进行排序

     stylelint-config-css-modules 是css-module的方案来处理样式文件

    我的配置文件长这样:

    // .stylelintrc.jsmodule.exports = {    processors: [],    plugins: ['stylelint-order'],    extends: [        "stylelint-config-standard",        "stylelint-config-css-modules"    ],    rules: {        "selector-class-pattern": [ // 命名规范 -            "^([a-z][a-z0-9]*)(-[a-z0-9]+)*$",            {                "message": "Expected class selector to be kebab-case"            }        ],        "string-quotes":"single", // 单引号        "at-rule-empty-line-before": null,        "at-rule-no-unknown":null,        "at-rule-name-case": "lower",// 指定@规则名的大小写        "length-zero-no-unit": true,  // 禁止零长度的单位(可自动修复)        "shorthand-property-no-redundant-values": true, // 简写属性        "number-leading-zero": "never", // 小数不带0        "declaration-block-no-duplicate-properties": true, // 禁止声明快重复属性        "no-descending-specificity": true, // 禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器。        "selector-max-id": 0, // 限制一个选择器中 ID 选择器的数量        "max-nesting-depth": 3,        "indentation": [2, {  // 指定缩进  warning 提醒            "severity": "warning"        }],        "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',            "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-color",            "border",            "border-radius",            'content',            'outline',            'outline-offset',            'opacity',            'filter',            'visibility',            'size',            'transform',        ],    }};

    processors 属性由于此次并没有使用,所以不做介绍,有兴趣的同学可以查询官方文档。

    plugins 是由社区创建的规则或规则集,支持方法论、工具集,非标准 的 CSS 特性,或非常特定的用例。

    extends 继承一个已存在的配置文件。(在我的配置中,继承了css-module和官方推荐的配置)

    rules 规则决定检测器要查找什么和要解决什么,所以,通过该选项你就可以开启相应规则,进行相应的检测。所有规则必须显式的进行配置,因为 没有默认值

    注意: null为禁用规则。可以在rules里面重写覆盖官方推荐的配置规则。

    5. 忽略lint文件

    此时我们已经可以正常的使用stylelint来格式化样式代码了。但是在项目中往往会存在一些不需要格式化的代码,比如我们会单独抽离一个overrides文件来重写antd的样式。显然这里是不需要格式化的,因为antd的选择器命名可能跟我们的规范不尽相同。所以我们需要在运行lint时忽略这个文件。

    我们可以在.stylelintrc.js中配置ignoreFiles

    创建.stylelintignore文件。

    我们可以通过 的方法,来对代码快进行忽略lint检测。

    我采用的是第二种方法,配置如下:

    // .stylelintignore*.js*.tsx*.ts*.json*.png*.eot*.ttf*.woff*.csssrc/styles/antd-overrides.less

    6. 自动格式化

    在进行完上文的配置之后,其实我们已经达到了规范的目的,但是如果每次都要跑一次lint无疑就会加重我们的编码负担。这里介绍两种方式在我们写样式代码时,对代码自动格式化的方法。

    6.1 stylelint vs-code 插件
    6.2 webpack plugin

    为什么一个WEBpack插件可以帮助我们格式化样式代码呢,这是因为我们在热更新重新编译的时候,这个插件会帮我们检测代码。并根据.stylelintrc.js文件中配置的规则进行fix。 如果有lint错误可以选择让项目无法运行,避免将没有lint的样式上传到代码库。

    于是我在使用这个插件的时候踩了好多坑,接下来我一一的说。

    6.3 插件踩坑集锦

    最开始时。按百度到的各路大神的写法,只需要这么配置就可以:

    new StyleLintPlugin({    context: "src",    configFile: path.resolve(__dirname, './stylelintrc.js'),    files: '***.less',      fix: true,      customSyntax: 'postcss-less',      lintDirtyModulesOnly: true,      threads: true,      exclude: ['node_modules', 'src/styles/antd-overrides.less'],    })

    7. commit检测

    这个就比较简单了,如果项目之前配置过eslint时的commit检测,这里只需要在脚本中加入检测样式就可以。配置如下

      "lint-staged": {    "*.{ts,tsx}": [      "eslint --ext js,ts,tsx --fix",      "git add"    ],    "*.less": [      "stylelint --fix  --custom-syntax postcss-less",      "git add"    ]  }

    这里其实是不需要跑yarn lint:css的,因为如果这样在commit时会全量检测所有src下的样式,然而其实我们只需要检测修改的文件即可。

    特别注意: 一定要加上 --custom-syntax postcss-less

    关于怎样引入代码检查工具stylelint就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    --结束END--

    本文标题: 怎样引入代码检查工具stylelint

    本文链接: https://www.lsjlt.com/news/300559.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 怎样引入代码检查工具stylelint
      这篇文章将为大家详细讲解有关怎样引入代码检查工具stylelint,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言团队合作时,当每个人的代码都拥有自定义的格式化方式时,在提交merge的时...
      99+
      2023-06-21
    • 引入代码检查工具stylelint实战问题经验总结分享
      目录前言正文1. 安装stylelint2. 配置文件3. 使用stylelint踩坑点1:4. 配置规则5. 忽略lint文件6. 自动格式化 插件踩坑集锦7. commit检测前...
      99+
      2024-04-02
    • JS代码检查工具ESLint怎么用
      这篇文章主要介绍了JS代码检查工具ESLint怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ESLint不但提供一些默认的规则,也提供...
      99+
      2024-04-02
    • PHP中的代码检查工具
      检查代码质量是每个程序员都必须要做的任务,而PHP中也有很多工具可以用于检查代码的质量和风格,从而提高代码的可读性和可维护性,提高代码的可靠性和安全性。本文将介绍几种常见的PHP代码检查工具,并对它们进行简单的比较和评估,希望可以帮助读者在...
      99+
      2023-05-24
      PHPUnit PHP_CodeSniffer PHPMD
    • IDEA中的代码检查工具怎么使用
      使用 IDEA 中的代码检查工具可以帮助开发者找出代码中的潜在问题和优化代码质量。以下是在 IDEA 中使用代码检查工具的步骤: ...
      99+
      2024-04-03
      IDEA
    • Java 代码检查工具之PMD入门使用详细教程
      目录介绍使用方式1、使用插件的方式2、maven项目引入依赖的方式3、pmd 命令行的方式4、Java API的方式 *项目结构测试代码pmdArgs方式PMDConfigurati...
      99+
      2024-04-02
    • Java代码检查工具之PMD的使用方法
      小编给大家分享一下Java代码检查工具之PMD的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍PMD是一个静态源代码分析器。它发现了常见的编程缺陷,如...
      99+
      2023-06-14
    • PHP中封装性的代码质量检查工具
      封装性是面向对象编程的重要原则之一,它可以帮助我们更好地管理代码,减少代码的耦合性,提高代码的可维护性和可复用性。在PHP开发中,为了保证代码的封装性,我们可以借助一些代码质量检查工具来进行静态代码分析。本文将介绍一款常用的PHP代码质量检...
      99+
      2023-10-21
      PHP代码质量 封装性检查工具 PHP代码检查
    • Go代码检查的推荐工具及使用详解
      目录1. Golint2. Golangci-lint3. Go-reporter1. Golint (1)安装golint git clone htt...
      99+
      2024-04-02
    • CodePro Analytix代码审查工具怎么用
      CodePro Analytix代码审查工具怎么用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CodePro Analytix 是一个基于Eclipse的快速开发环境,能...
      99+
      2023-06-17
    • javascript代码怎么检查
      这篇文章主要介绍了javascript代码怎么检查的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇javascript代码怎么检查文章都会有所收获,下面我们一起来看看吧。一、使用Lint工具ESLint是一个非常...
      99+
      2023-07-06
    • 基于PHP的PSR2和PSR4规范的代码规范检查工具
      引言:在软件开发过程中,良好的代码规范是保证程序质量和可维护性的重要因素。为了帮助开发人员遵循PHP代码规范,PHP-FIG(PHP Framework Interop Group)提出了PSR(PHP Standards Recommen...
      99+
      2023-10-21
      PHP PSR
    • linux服务器怎么安装SonarQube代码检测工具
      这篇文章主要介绍了linux服务器怎么安装SonarQube代码检测工具的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux服务器怎么安装SonarQube代码检测工具文章都会有所收获,下面我们一起来看看吧...
      99+
      2023-07-02
    • Python中有哪些代码审查工具
      本篇文章为大家展示了Python中有哪些代码审查工具,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 DeepSourceDeepSource针对各种通用编程语言(例如Python、Javascrip...
      99+
      2023-06-08
    • 七种Python代码审查工具推荐
      目录1. DeepSource 2. Codacy3. SonarQube 4. Veracode 5. Checkmarx 6. Coverity 7. CodeScene 小结 ...
      99+
      2024-04-02
    • React Native工程中TSLint静态检查工具怎么用
      这期内容当中小编将会给大家带来有关React Native工程中TSLint静态检查工具怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TSLint为TypeScript提供了代码检查能力,对使用Ty...
      99+
      2023-06-04
    • 第38篇:Checkmarx代码审计/代码检测工具的使用教程(1)
       Part1 前言  Checkmarx是以色列研发的一款代码审计工具,是.NET开发的,只能在Windows下使用。很多人喜欢把它和fortify进行比较,其实很难说两款工具孰优孰劣,各有秋千吧,两款工具配合起来互补一下更好。Che...
      99+
      2023-10-11
      sqlserver 数据库 服务器
    • Linux系统安全检查工具Lynis怎么用
      这篇文章给大家介绍Linux系统安全检查工具Lynis怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Lynis是针对Unix/Linux的安全检查工具,可以发现潜在的安全威胁。这个工具覆盖可疑文件监测、漏洞、恶意...
      99+
      2023-06-16
    • ABAP的权限检查跟踪工具怎么使用
      这篇文章主要介绍“ABAP的权限检查跟踪工具怎么使用”,在日常操作中,相信很多人在ABAP的权限检查跟踪工具怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ABAP的权限检查跟踪工具怎么使用”的疑惑有所...
      99+
      2023-06-04
    • 如何使用vimdiff代替svn diff的查看代码工具
      这篇文章给大家分享的是有关如何使用vimdiff代替svn diff的查看代码工具的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在linux下,直接使用svn diff命令查看代码的修改是很吃力的,于是在网上搜索...
      99+
      2023-06-10
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作