• 代码校验规范


    vscode插件安装

    stylelint
    prettier
    eslint

    安装依赖

    npm install -D stylelint prettier eslint
    
    // yarn 
    yarn add stylelint  prettier eslint  -D
    

    安装@umijs/fabric,一个包含 prettier,eslint,stylelint 的配置文件合集

    npm i @umijs/fabric

    stylelint 『一个强大的、现代化的 CSS 检测工具』

    • .stylelintrc.js文件配置
    const fabric = require('@umijs/fabric');
    
    module.exports = {
      ...fabric.stylelint,
    };
    

    eslint 『提供一个插件化的javascript代码检测工具』

    • .eslintrc.js文件配置
    module.exports = {
      extends: [require.resolve('@umijs/fabric/dist/eslint')]
      globals: {
          ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true,
          page: true,
          REACT_APP_ENV: true,
        },
      rules: {
        camelcase: 'off',
        'no-console': 'error',
        'no-unused-vars': 'error',
        'no-else-return': [0],
        ...
      }
    };
    

    prettier 『代码格式化工具,根据设置规则自动调整』

    • .prettierrc.js文件配置
    const fabric = require('@umijs/fabric');
    
    module.exports = {
        ...fabric.prettier,
    };
    

    配置忽略

    // .stylelintignore   忽略stylelint检查的文件
    // .prettierignore   忽略prettier检查的文件
    // .eslintignore    忽略eslint检查的文件
    

    husky 注册 git hook (git commit时检查)

    • 安装依赖
    npm install --save-dev husky lint-staged
    
    • 添加 hook 函数
    // package.json
    "scripts": {
        "start": "umi dev",
        "build": "umi build",
        "postinstall": "umi generate tmp",
        "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'",
        "test": "umi-test",
        "test:coverage": "umi-test --coverage",
        "lint": "eslint --ext .js src --fix --cache",
        "lint-staged": "lint-staged",
        "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx --fix"
      },
      "gitHooks": {
        "pre-commit": "lint-staged"
      },
      "husky": {
        "hooks": {
          "pre-commit": "npm run lint-staged",
          "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
        }
      },
      "lint-staged": {
        "**/*.{js,jsx,less}": [
          "prettier --write",
          "git add"
        ],
        "**/*.{js,jsx}": "npm run lint-staged:js",
        "**/*.less": "stylelint --syntax less"
      },
    

    lint-staged添加git add 意味只检查本次提交文件否则检查所有

    vscode配置

    • 添加自动修复
    "editor.codeActionsOnSave": {
       "source.fixAll": true
     }
    

    配置完后重启VSCode

  • 相关阅读:
    Silverlight之各种线程的操作
    MVVM之Event and Command
    Silverlight之DescriptionViewer
    MVVM之Validation
    蚁群算法(C语言实现)
    最小生成树的prim算法
    关于HashMap、LinkedHashMap与TreeMap
    Slope One :简单高效的协同过滤算法(Collaborative Filtering)——转
    java中使用匿名类重写
    Session学习:防止用户重复提交表单(单态设计模式原子设计模式+MD5技术&Base64算法)
  • 原文地址:https://www.cnblogs.com/zpsakura/p/14315542.html
Copyright © 2020-2023  润新知