• eslint+prettier完成代码格式化以及半自动化整理


    1.配置eslint

    npm install --save-dev eslint eslint-plugin-vue@next

    2.package.json添加下面的配置

    "eslintConfig": {
        "root": true,
        "env": {
          "node": true
        },
        "extends": [
          "plugin:vue/vue3-essential",
          "eslint:recommended"
        ],
        "parserOptions": {
          "parser": "babel-eslint"
        },
        "rules": {}
      },

     

    3.添加.eslintrc.js

    module.exports = {
      extends: ['plugin:vue/strongly-recommended', 'plugin:prettier/recommended'],
      rules: {
        'prettier/prettier': 'error',
      },
    };
    

     

    4.添加prettier.config

    module.exports = {
      printWidth: 80, // 每行代码长度(默认80)
      tabWidth: 2, // 每个tab相当于多少个空格(默认2)
      useTabs: false, // 是否使用tab进行缩进(默认false)
      singleQuote: true, // 使用单引号(默认false)
      semi: true, // 声明结尾使用分号(默认true)
      trailingComma: 'all', // 多行使用拖尾逗号(默认none)
      bracketSpacing: true, // 对象字面量的大括号间使用空格(默认true)
      jsxBracketSameLine: false, // 多行JSX中的>放置在最后一行的结尾,而不是另起一行(默认false)
      arrowParens: 'avoid', // 只有一个参数的箭头函数的参数是否带圆括号(默认avoid)
    };

    5.package.json配置commit提交前的钩子

    "husky": {
        "hooks": {
          "pre-commit": "lint-staged",
          "prepare-commit-msg": "exec < /dev/tty && git cz --hook || true"
        }
      },
      "lint-staged": {
        "*.js": [
          "prettier --write",
          "vue-cli-service lint",
          "git add"
        ],
        "*.vue": [
          "prettier --write",
          "vue-cli-service lint",
          "git add"
        ]
      },

    6.  pageckage.json格式化自动命令配置

    "format": "prettier --write "src/**/*.js" "src/**/*.vue" "*json" "*.config.js" "*.eslintrc.js""

    终端执行命令

    npm run format
    //or
    yarn format

    7.package.json 配置lint检查

    "lint": "vue-cli-service lint",

    终端执行命令

    yarn lint
    //or
    npm run lint

    8.开发环境中开启lint

    第一种方式基于vue-cli3.0创建的需要在vue.config.js中

    lintOnSave: 'error',

    第二种方式在webpack中配置:

    config/index.js中添加配置

    dev: {
      useEslint: true, 
    }

    build/webpack.base.config.js

    const createLintingRule = () => ({
     test: /.(js|vue)$/,
     loader: 'eslint-loader',
     enforce: 'pre',
     include: [resolve('src'), resolve('test')],
     options: {
      formatter: require('eslint-friendly-formatter'),
      emitWarning: !config.dev.showEslintErrorsInOverlay,
      fix: true,
     }
    })

     

    参考文档

    vue+eslint详解

    prettier

    eslint配置

    实例代码仓库

    vue.config.js配置参数

  • 相关阅读:
    解决WampServer窗口界面乱码问题
    PHP 中空字符串介绍0、null、empty和false之间的关系
    位(bit)、字节(byte)、字
    SQL GROUP BY 和 ORDER BY 区别
    爬虫安装相关软件
    nginx自动切割日志脚本
    tengine日志切割-配置分钟级别日志自动切割
    flutter进行自动编译操作步骤
    03-字符编码-读写模式-课堂笔记
    04-函数-课堂笔记
  • 原文地址:https://www.cnblogs.com/starryqian/p/13897641.html
Copyright © 2020-2023  润新知