引入代码检查工具stylelint实战问题经验总结分享

yizhihongxing

引入代码检查工具stylelint可以帮助我们规范化CSS代码,避免出现因细节问题导致的BUG。下面是引入stylelint工具的完整攻略:

第一步:安装stylelint

npm install --save-dev stylelint stylelint-config-standard

以上命令会安装stylelint及其标准配置。如果你需要使用其他配置,可以使用对应的包名替换掉stylelint-config-standard

第二步:创建stylelint配置文件

touch .stylelintrc.json

然后在stylelintrc.json文件中添加以下内容:

{
  "extends": "stylelint-config-standard"
}

以上配置文件是使用stylelint标准配置文件的方式,你可以根据自己的需求添加自定义配置。

第三步:运行stylelint

3.1 正常运行stylelint验证CSS

使用以下命令运行stylelint对CSS文件进行检查:

stylelint your-css-file.css

如果需要同时检查多个文件,可以用通配符:

stylelint *.css

3.2 在编辑器中自动运行stylelint

我们可以在编辑器中设置自动运行stylelint,实现实时检测代码风格的效果。

以VS Code为例,我们可以在Settings中添加以下配置:

"editor.codeActionsOnSave": {
  "source.fixAll.stylelint": true
},

以上配置会在保存的时候自动运行stylelint并修复对应的问题。

示例:

下面是两个示例,介绍如何使用stylelint解决实际问题:

示例1:根据公司CSS规范检测代码

假设你工作的公司有自己的CSS规范,你需要根据规范检测项目的CSS代码。

你需要先了解公司规范的内容,然后在.stylelintrc.json中添加对应的自定义配置。

例如,你需要规定颜色必须使用16进制表示法,而不能使用rgb或rgba表示法。

你可以在.stylelintrc.json中添加以下配置:

{
  "extends": "stylelint-config-standard",
  "rules": {
    "color-hex-length": "long"
  }
}

以上配置表示将检查颜色的表示是否为16进制长格式(如#ff0000),如果不是则视为错误。

示例2:检测CSS变量使用是否一致

项目使用了很多全局CSS变量,你需要确保其使用方式一致,避免出现不必要的问题。

你可以在.stylelintrc.json中添加以下配置:

{
  "extends": "stylelint-config-standard",
  "rules": {
    "property-no-unknown": [true, {
        "ignoreProperties": [
            "composes"
        ]
    }],
    "declaration-colon-newline-after": null,
    "declaration-empty-line-before": null,
    "declaration-block-semicolon-newline-after": null,
    "declaration-block-trailing-semicolon": "always",
    "declaration-block-no-duplicate-properties": [true, {
        "ignore": ["consecutive-duplicates-with-different-values"]
    }],
    "function-url-quotes": "always",
    "media-feature-name-no-vendor-prefix": true,
    "at-rule-no-vendor-prefix": true,
    "selector-max-id": 0,
    "shorthand-property-no-redundant-values": true,
    "value-no-vendor-prefix": true,
    "function-calc-no-unspaced-operator": true,
    "block-no-empty": true,
    "length-zero-no-unit": true,
    "color-hex-length": "long",
    "color-named": "never",
    "value-keyword-case": "lower",
    "declaration-no-important": true,
    "no-duplicate-selectors": true,
    "selector-max-compound-selectors": 4,
    "selector-max-universal": 1,
    "selector-no-qualifying-type": true,
    "property-no-vendor-prefix": true,
    "max-nesting-depth": 3
  }
}

以上配置规定了大量的规则,包括了以下部分:

  • 不允许使用厂商前缀
  • 不允许使用CSS变量之外的自定义属性
  • 不允许存在空Block
  • 不允许重复的选择器、重复的CSS属性
  • 不允许适配器中有重复的名字
  • 不允许出现或者后端命名中大写字母
  • 等等

这些规则会在你提交代码的时候进行校验,避免了代码审查中出现的大量细节问题。

通过以上示例,我们可以看到,在不同的项目中,我们可以使用不同的规则来检查和保证CSS的质量。只有在统一的标准下,我们的项目才有更好的可维护性和合理性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:引入代码检查工具stylelint实战问题经验总结分享 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • ASP FCKeditor在线编辑器使用方法

    ASP FCKeditor在线编辑器使用方法 ASP FCKeditor 是一款非常流行的在线编辑器,用于在网站中创建和编辑HTML内容。它可以在 ASP 环境中使用。 安装 下载 ASP FCKeditor。 解压缩文件并将其放到可以访问到的网站目录中。 打开 sample/default.asp 文件并根据需要进行必要的更改。 在网站中使用 在需要使用 …

    css 2023年6月10日
    00
  • 详解如何自定义CSS滚动条的样式

    自定义 CSS 滚动条样式是前端开发中常用的技巧之一,可以用于美化网页滚动条的外观。以下是关于如何自定义 CSS 滚动条样式的完整攻略。 步骤一:创建 HTML 结构 首先,需要在 HTML 文件中创建一个容器元素,用于包含需要自定义滚动条的内容。以下是一个示例: <div class="scrollbar"> <div…

    css 2023年5月18日
    00
  • UL、LI 无序列表实现纯CSS网站导航菜单

    实现纯CSS网站导航菜单需要使用无序列表(UL)和列表项(LI),将菜单内容放置在列表项中,然后使用CSS样式来控制菜单的呈现。 下面是实现纯CSS网站导航菜单的步骤: 1. 创建无序列表 使用<ul>标签来创建无序列表,将菜单项目放置在每个列表项(<li>)中,如下所示: <ul> <li><a hre…

    css 2023年6月10日
    00
  • 基于react项目打包css引用路径错误解决方案

    首先,我假定你正在透过Webpack打包React项目,并且有CSS文件需要用到。在Webpack中,我们可以使用CSS loader和style-loader来处理CSS文件。当正确地配置这些 loader 后,Webpack会将CSS文件与我们的React组件一起打包,并将CSS样式以内联方式存储在最终的bundle中。但是,在某些情况下,Webpack…

    css 2023年6月9日
    00
  • springboot2中session超时,退到登录页面方式

    在Spring Boot 2中,控制Session超时并重定向到登录页面的方式有多种。下面是其中一种完整攻略: 1. 设置Session超时时间 在application.properties文件中添加以下配置,设置Session超时时间: server.servlet.session.timeout=30m 表示Session超时时间为30分钟。也可以使用…

    css 2023年6月10日
    00
  • ul, li, a怎么用(谷歌/火狐/ie6/7/8)中测试

    ul, li, a 是 HTML 中常用的标签,用于创建无序列表和超链接。在测试中,需要测试这些标签在不同浏览器中的兼容性。本文将提供一些关于如何测试 ul, li, a 标签在不同浏览器中的兼容性的完整攻略,包括使用浏览器兼容性测试工具和手动测试的示例说明。 使用浏览器兼容性测试工具 可以使用浏览器兼容性测试工具来测试 ul, li, a 标签在不同浏览器…

    css 2023年5月18日
    00
  • 微信小程序CSS3动画下拉菜单效果

    下面我将详细讲解“微信小程序CSS3动画下拉菜单效果”的完整攻略。 一、准备工作 在实现小程序CSS3动画下拉菜单效果前,需要做好以下几点准备工作: 确认所需组件:需要一个顶部导航栏和一个下拉菜单; 确认所需框架:本次攻略基于WeUI框架开发实现,需要先引入 WeUI 框架; 准备所需样式:需要针对顶部导航栏和下拉菜单进行样式的设计。 二、实现步骤 1. 引…

    css 2023年6月11日
    00
  • SpringBoot静态资源CSS等修改后再运行无效的解决

    关于“SpringBoot静态资源CSS等修改后再运行无效的解决”,一般有以下两种解决方法: 方法一:增加配置项 在SpringBoot的配置文件application.properties中,增加如下配置项: spring.resources.cache-period=-1 这样修改之后,每次请求静态资源的时候都会重新读取文件,不会使用缓存中的静态文件。缺…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部