当前位置: 首页 > news >正文

Egg.js 项目的合理 ESLint 配置文件模板

 Egg.js 项目的合理 ESLint 配置文件模板

安装依赖

npm install eslint @babel/eslint-parser eslint-plugin-import eslint-plugin-promise eslint-plugin-node --save-dev
  • extends: 扩展了 eslint-config-egg 以及其他一些常用的插件配置。

  • parser: 使用 @babel/eslint-parser 作为解析器,支持最新的 JavaScript 语法。

  • parserOptions: 设置了解析器选项,包括 ECMAScript 版本和模块类型。

  • env: 设置了 Node.js 和 ES6 环境。

  • settings: 配置了导入解析器,支持 .js 和 .ts 文件。

  • rules: 添加了一些常用的 ESLint 规则,包括对控制台日志、未使用的变量、导入检查、Promise 检查和 Node.js 特定的规则

.eslintrc

{"extends": ["eslint-config-egg","plugin:import/errors","plugin:import/warnings","plugin:import/typescript","plugin:promise/recommended","plugin:node/recommended"],"parser": "@babel/eslint-parser","parserOptions": {"ecmaVersion": 2020,"sourceType": "module","requireConfigFile": false},"env": {"node": true,"es6": true},"settings": {"import/resolver": {"node": {"extensions": [".js", ".ts"]}}},"rules": {"no-console": "warn","no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],"import/no-unresolved": "error","import/named": "error","import/namespace": "error","import/default": "error","import/export": "error","import/extensions": ["error", "always", { "js": "never", "ts": "never" }],"import/newline-after-import": "error","import/no-extraneous-dependencies": ["error", { "devDependencies": true }],"promise/always-return": "error","promise/no-return-wrap": "error","promise/param-names": "error","promise/catch-or-return": "error","node/no-missing-import": "error","node/no-unpublished-require": "error","node/no-unsupported-features/es-syntax": "error","node/process-exit-as-throw": "error","node/shebang": "error"}}

但如果同时使用prettier与eslint冲突  可以再补上安装

npm install eslint-config-prettier eslint-plugin-prettier --save-dev

这些工具可以帮助你关闭 ESLint 中与 Prettier 冲突的规则,并将 Prettier 作为 ESLint 的规则之一运行

最终配置为

{"extends": ["eslint-config-egg","plugin:import/errors","plugin:import/warnings","plugin:import/typescript","plugin:promise/recommended","plugin:node/recommended","plugin:prettier/recommended", // 添加 Prettier 插件"prettier" // 确保 Prettier 覆盖其他规则],"parser": "@babel/eslint-parser","parserOptions": {"ecmaVersion": 2020,"sourceType": "module","requireConfigFile": false},"env": {"node": true,"es6": true},"settings": {"import/resolver": {"node": {"extensions": [".js", ".ts"]}}},"rules": {"no-console": "warn","no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],"import/no-unresolved": "error","import/named": "error","import/namespace": "error","import/default": "error","import/export": "error","import/extensions": ["error", "always", { "js": "never", "ts": "never" }],"import/newline-after-import": "error","import/no-extraneous-dependencies": ["error", { "devDependencies": true }],"promise/always-return": "error","promise/no-return-wrap": "error","promise/param-names": "error","promise/catch-or-return": "error","node/no-missing-import": "error","node/no-unpublished-require": "error","node/no-unsupported-features/es-syntax": "error","node/process-exit-as-throw": "error","node/shebang": "error","no-trailing-spaces": 1, // 禁用 no-trailing-spaces 规则"prettier/prettier": ["error", { "singleQuote": true, "semi": false }] // 配置 Prettier 规则}}


http://www.mrgr.cn/news/54926.html

相关文章:

  • AI大模型是否有助于攻克重大疾病?
  • 优化分页查询
  • 排序02 Multi-gate Mixture-of-Experts (MMoE)
  • Yolo目标检测:实时性与准确性的完美结合
  • Ubuntu下解决python程序首次连接mysql拒绝访问之总结
  • Python 数据类型,是否可变、可哈希
  • 锁的原理以及使用
  • 《知道做到》
  • 【MySQL核心面试题】MySQL 核心 - Explain 执行计划详解!
  • 如何用AI大模型提升挖洞速度
  • upload-labs Pass-04
  • 使用 NASM 和 Windows API 创建一个简单窗口的完整实例
  • 图幅结合表DWG转DXF,使用DXF文件进行批量影像分幅
  • 字面量优化、alignas和alignof、属性说明符和标准属性
  • Java方法的递归调用
  • 27.2 动态分片方案和它要解决的问题
  • template <typename T>详解
  • 【力扣打卡系列】滑动窗口与双指针(乘积小于K的子数组)
  • 动态规划-子数组系列——乘积最大子数组
  • 文心一言 VS 讯飞星火 VS chatgpt (373)-- 算法导论24.4 5题
  • SpringBoot3整合RocketMQ问题处理
  • Qt 实战(11)样式表 | 11.2、使用样式表
  • 单元化架构,分布式系统的新王!
  • Java学习教程,从入门到精通, Java 基础语法(4)
  • VMware虚拟机三种网络模式详解
  • 【计网笔记】以太网