最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • husky+lint-staged 助力前端代码规范 - 掘金

    正文概述 掘金(wangqinquan)   2021-09-08   1607

    husky是什么?用来作什么的?

    • husky是一个为 git 客户端增加 hook 的工具,githooks - git使用的工具 (githook在官网的介绍),比如 pre-commit 钩子就会在你执行 git commit 的触发。
    • 由于钩子可以在git commit中触发,所以我们可以在提交到暂缓区时,做一些lint 检查、单元测试、代码美化等操作。

    lint-staged是什么?

    • 一个仅仅过滤出 Git 代码暂存区文件(被 git add 的文件)的工具
    • 对个人要提交的代码的一个规范和约束
    • 是一个在 git 暂存文件上(也就是被 git add 的文件)运行已配置的 linter(或其他)任务。lint-staged 总是将所有暂存文件的列表传递给任务。

    使用方法

    • husky的安装

      npm i husky -D --registry=https://registry.npm.taobao.org
      

      husky在安装的过程会在.git/hooks中生成一系列的脚本

      npm i husky@4.3.8 -D --registry=https://registry.npm.taobao.org
      

      这版本,基本安装不会出错的

      如果安装成功的话,会出现下列信息

      > node husky install
      husky > setting up git hooks  
      husky > done
      

      ok,我们现在假设安装成功了,那么husky为你安装的hooks将会生效。

      这样我们就可以在git commit的时候去调用pre-commit钩子的方法,去触发到husky。

      接着我们还需要在package.json文件中做一些配置,配置husky的钩子需要执行的命令

      "husky": {
        "hooks": {
          "pre-commit": "echo 'git commit trigger husky pre-commit hook' "
        }
      }
      

      这个命令会在我们git commit的时候,会打印出git commit trigger husky pre-commit hook,这说明我们看到了pre-commit执行了

      更多hooks的钩子方法可以点击这里查看

    • lint-staged的安装

      npm i lint-staged prettier -D --registry=https://registry.npm.taobao.org
      

      安装好依赖之后,在package.json文件中做配置

        "lint-staged": {
          "src/**/*.{js,vue}": [
            "prettier --write",
            "eslint --fix",
            "git add"
          ]
        },
      

      这里 lint-staged 的配置是:在 git 的待提交的文件中,在 src 目录下的所有 .js .vue 都要执行三条命令。

      1. 第一条命令是将代码进行格式化,用prettier这个代码格式化插件进行代码格式化。
      2. 第二条命令是将格式化的代码上有eslint问题,进行修复。
      3. 第三条命令是将处理过的代码重新 add 到 git 中。

    这样就将代码进行了规范化,当然业务逻辑那些还需要开发者在里面增加注释了


    起源地下载网 » husky+lint-staged 助力前端代码规范 - 掘金

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元