为JavaScript/Node项目配置ESlint

本文介绍如何在JavaScript/Node项目中配置ESLint,通过使用eslint-config-airbnb、eslint-plugin-flowtype和eslint-plugin-jest等插件来实现代码风格统一及错误检查。详细解释了配置文件的设置方式。

为JavaScript/Node项目配置ESlint

ESLint作为流行的静态检查工具,可以帮我们及时发现项目中编码风格和某些类型的错误问题。在NPM世界中,已经有各种其他人开发好的检查规则供我们使用,下图就给出了如何在自己的项目中配置好流行的Airbnb ESLint检查插件、Flow Type类型检查插件、Jest测试代码检查插件。根据下面的流程图和实际项目中用到的功能做不同的配置即可。

这里写图片描述

  • 考虑到airbnb最全的Lint rule也包含了JavaScript语言基本lint rule,因此建议直接使用eslint-config-airbnb.
  • eslint-plugin-flowtype是专门针对flow type的lint规则,依赖于eslint和babel-eslint,由于我们使用了该plugin推荐的Shareable configurations,不需要单独设置eslint-plugin-flowtype的parser(parser: 'babel-eslint')和rule等选项,也不需要单独对babel-eslint做配置,只需要在安装时把babel-eslint安装到devDependency中即可。
{
  "extends": [
    "plugin:flowtype/recommended"
  ],

  "plugins": [
    "flowtype"
  ]
}

参考资料

Oops! Something went wrong! :( ESLint: 8.57.0 Error: Cannot read config file: /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/.eslintrc.cjs Error: Cannot find module 'eslint-plugin-rulesdir' Require stack: - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/.eslintrc.cjs - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/@eslint+eslintrc@2.1.4/node_modules/@eslint/eslintrc/dist/eslintrc.cjs - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/eslint@8.57.0/node_modules/eslint/lib/cli-engine/cli-engine.js - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/eslint@8.57.0/node_modules/eslint/lib/eslint/eslint.js - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/eslint@8.57.0/node_modules/eslint/lib/eslint/index.js - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/eslint@8.57.0/node_modules/eslint/lib/cli.js - /Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/node_modules/.pnpm/eslint@8.57.0/node_modules/eslint/bin/eslint.js at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15) at Module._load (node:internal/modules/cjs/loader:984:27) at Module.require (node:internal/modules/cjs/loader:1231:19) at require (node:internal/modules/helpers:179:18) at Object.<anonymous> (/Users/pengfei.guo/Documents/Code/SBI/investmenttrust_contents2/SourceCode/SBIToshinApp_HTML/.eslintrc.cjs:1:24) at Module._compile (node:internal/modules/cjs/loader:1369:14) at Module._extensions..js (node:internal/modules/cjs/loader:1427:10) at Module.load (node:internal/modules/cjs/loader:1206:32) at Module._load (node:internal/modules/cjs/loader:1022:12) at Module.require (node:internal/modules/cjs/loader:1231:19)  ELIFECYCLE  Command failed with exit code 2.
最新发布
11-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值