vscode react ESLint Prettier 接入

初始化 npx create-react-app . --typescript

1. 初始化配置

npm run eject

2. 安装依赖

npm i -D prettier eslint-config-prettier eslint-plugin-prettier

3. Eslint 配置

AppRoot 表示根目录
// {AppRoot}/.eslintrc.js

module.exports = {
  parser: '@typescript-eslint/parser',
  extends: ['prettier/@typescript-eslint', 'plugin:prettier/recommended'], //使用推荐的React代码检测规范
  plugins: ['@typescript-eslint'],
  env: {
    browser: true,
    node: true,
  },
  settings: {
    //自动发现React的版本,从而进行规范react代码
    react: {
      pragma: 'React',
      version: 'detect',
    },
  },
  parserOptions: {
    //指定ESLint可以解析JSX语法
    ecmaVersion: 2019,
    sourceType: 'module',
    ecmaFeatures: {
      jsx: true,
    },
  },
  rules: {},
}

{AppRoot}/.eslintignore

/lambda/
/scripts
/config
.history

4. Prettier 配置

// {AppRoot}/.prettierrc.js

module.exports = {
    printWidth: 120, // 每行代码不超过120个字符长度
    semi: true, // 在语句末尾打印分号。
    singleQuote: true, // 单引号
    trailingComma: 'none', // 尾随逗号
    bracketSpacing: true, // 在对象的括号之间需要括号分割
    jsxBracketSameLine: false, // 将>多行JSX元素的放在最后一行的末尾,而不是一个>放在下一行
    arrowParens: 'avoid', // 箭头函数参数周围是否需要使用括号包裹,avoid 尽可能不用括号包裹
    tabWidth: 4, // 指定每个缩进级别的空格数。
    useTabs: false, // 使用制表符而不是空格缩进行
    endOfLine: 'auto' // 解决跨平台下代码行结束不一致的问题
};

// {AppRoot}/.prettierignore

**/*.svg
package.json
.umi
.umi-production
/dist
.dockerignore
.DS_Store
.eslintignore
*.png
*.toml
docker
.editorconfig
Dockerfile*
.gitignore
.prettierignore
LICENSE
.eslintcache
*.lock
yarn-error.log
.history
CNAME
/build
serviceWorker.*

5. Webpack 配置修改[如需要修改Prettier或者eslint配置时需要设置这个,如不需要修改规则则可以跳过这步]

{AppRoot}/webpack.config.js

{
  test: /\.(js|mjs|jsx|ts|tsx)$/,
  enforce: 'pre',
  use: [
    {
      options: {
        cache: false, // 这里改为false ,经常会因为eslint的缓存导致你修改了代码也没有及时更新检测的问题
        formatter: require.resolve('react-dev-utils/eslintFormatter'),
        eslintPath: require.resolve('eslint'),
        resolvePluginsRelativeTo: __dirname,
      },
      loader: require.resolve('eslint-loader'),
    },
  ],
  include: paths.appSrc,
}

6. 提交时的校验git hook

  1. 安装依赖
npm i lint-staged husky -D
  1. 修改 package.json
{AppRoot}/package.json
{
  ...
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "src/*.{js,jsx,mjs,ts,tsx}": [
      "node_modules/.bin/prettier --write",
      "node_modules/.bin/eslint --fix",
      "git add"
    ],
    "src/*.{css,scss,less,json,html,md,markdown}": [
      "node_modules/.bin/prettier --write",
      "git add"
    ]
  }
  ...
}
  1. 测试 commit 命令
git add .
git commit -m 'test commit'

7. IDE 配置[可选]

7.1 VSCode 配置
7.1.1 安装 ESLint
检查代码错误
7.1.2 安装 prettier
用来格式化代码
安装成功后,可以设置项目 vscode 配置来实现保存代码自动格式化
{AppRoot}/.vscode/settings.json

{
  "editor.formatOnSave": true // 开启保存格式化
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用VSCode配合ESLint自动修复格式化Vue3或React代码,需要按照以下步骤操作: 1. 在VSCode中安装ESLint插件和Prettier插件。 2. 在项目根目录下安装ESLintPrettier依赖包。 3. 在项目根目录下创建.eslintrc.js文件,并配置ESLint规则。 4. 在VSCode的设置中,将"editor.formatOnSave"设置为true,以便在保存文件时自动格式化代码。 5. 在VSCode的设置中,将"eslint.validate"设置为"onSave",以便在保存文件时自动运行ESLint检查。 6. 在VSCode的命令面板中,选择"ESLint: Fix all auto-fixable Problems",以自动修复ESLint检查出的问题。 7. 在VSCode的命令面板中,选择"Prettier: Format Document",以自动格式化代码。 通过以上步骤,就可以使用VSCode配合ESLint自动修复格式化Vue3或React代码了。 ### 回答2: VSCode 是一款功能强大的现代化代码编辑器,它支持多种语言和框架,如 Vue3 和 React。同时,它也支持集成 ESLint 插件,以帮助我们检测并自动修复代码规范和格式问题。在该环境中配合 ESLint 自动修复格式化非常简单,下面将为大家介绍具体操作步骤。 首先,我们需要在 VSCode 中搜索并安装 ESLint 插件。安装完毕后,我们可在左侧的“Extensions”面板中看到它。 接着,在项目的根目录下初始化一个新的 eslint 配置文件,运行以下命令: ``` npm install eslint --save-dev ./node_modules/.bin/eslint --init ``` 其中eslint --init命令将会进入eslint的配置向导并根据你的需求自动生成.eslintrc.* 配置文件, 这里的 `—save-dev` 参数意味着将 eslint 安装为开发依赖。同时,我们还需要使用npm/yarn 以安装eslint插件的规则依赖,这里以使用 airbnb 的规则为例: ``` npx install-peerdeps --dev eslint-config-airbnb-base ``` 然后,我们需要在 VSCode 首选项中启用 ESLint 插件,并选择自动保存文件时执行 ESLint 格式化功能。为了实现这个目标,我们需要按照以下步骤: - 打开 VSCode 首选项(Preferences)并搜索“eslint”。 - 在搜索结果中选择“ESLint > Auto Fix On Save”选项并将其勾选上。 image 这样,当我们编写 Vue3 或 React 代码时,ESLint 将自动纠正一些常见的语法和格式问题。一些错误内容比如缩进、括号空格等都会自动得到修复和统一。如果确实存在无法自行修复的问题,我们仍然可以在编辑器中看到它们。在这种情况下,我们需要自行解决问题或查看 ESLint 文档以了解如何解决错误。 综上所述,通过使用 ESLint 工具和 VSCode 编辑器的自动保存功能,我们可以更轻松地维护我们的代码质量和统一性。它可以帮助我们避免格式错误和其他常见的代码问题,确保我们的代码遵循最佳实践,并更加易于阅读和维护。 ### 回答3: VS Code 是一款非常流行的代码编辑器,支持很多功能强大的扩展插件,其中一个非常实用的插件就是 ESLint 自动修复格式化插件。对于 Vue.js 3 或 React 项目的开发者来说,这个插件是非常有用的。 首先,我们要安装 VS Code 上的 ESLint 插件,然后在项目中使用 npm 或 yarn 安装 ESLint: ``` npm install eslint --save-dev ``` 或 ``` yarn add eslint --dev ``` 然后,我们可以在项目根目录下创建一个 `.eslintrc.js` 配置文件,来配置 ESLint 的规则和插件。在 Vue.js 3 项目中,我们可以使用 `@vue/eslint-config` 来设置规则,而在 React 项目中,我们可以使用 `eslint-config-react-app`。配置文件大概长成这样: ``` module.exports = { root: true, env: { browser: true, node: true, es2021: true, }, extends: [ 'plugin:vue/vue3-recommended', 'eslint:recommended', ], parserOptions: { ecmaVersion: 12, sourceType: 'module', }, plugins: [ 'vue', ], rules: { // add your custom rules here }, } ``` 我们可以根据项目需要,自定义 ESLint 的规则和插件。配置好了之后,我们就可以在 VS Code 中使用 ESLint 插件了。 在 VS Code 中打开 Vue.js 3 或 React 项目后,我们可以看到编辑器左下角会出现一个 ESLint 的标志,这表示 VS Code 已经启用了 ESLint 插件。当我们写代码时,如果发现代码出现了 ESLint 的错误或警告,我们只需要将鼠标悬停在出错的地方,就可以看到具体的提示信息。 此时,我们可以使用 VS Code 的快捷键 `Ctrl + .` 或 `Cmd + .`来打开 Quick Fix 菜单,然后选择 "Fix this" 或 "Fix all" 选项,来让 VS Code 自动修复代码中的 ESLint 错误和警告。这个操作非常方便,可以帮助我们快速修复代码中的问题并保持代码风格一致。 总的来说,VS Code 配合 ESLint 自动修复格式化的功能能够大大提高开发效率,降低出错几率,值得我们掌握和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值