如何在NX工作区应用中配置ESLint AirBnB规则?
在NX Monorepo中为ESLint启用AirBnB规则
1. 安装必要依赖
首先安装AirBnB ESLint核心配置及相关插件,如果你使用TypeScript(NX Monorepo通常默认使用),还需安装TypeScript适配的解析器:
# 核心AirBnB配置和import插件 npm install eslint-config-airbnb-base eslint-plugin-import --save-dev # TypeScript适配依赖(若项目用TS) npm install eslint-import-resolver-typescript --save-dev
2. 修改ESLint配置文件
NX Monorepo的ESLint配置通常有两种形式,根据你的项目配置选择对应的修改方式:
传统JSON配置(.eslintrc.json)
在根目录或目标应用/库的.eslintrc.json中,将airbnb-base添加到extends数组,并配置TypeScript的import解析器(若适用):
{ "root": true, "ignorePatterns": ["**/*"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "airbnb-base", // 启用AirBnB基础规则 "plugin:import/typescript" // 适配TS的import规则 ], "plugins": ["@typescript-eslint"], "settings": { "import/resolver": { "typescript": {} // 让import规则识别TS文件路径 } }, "rules": { // 按需覆盖AirBnB规则,示例: "import/prefer-default-export": "off", "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }] } }
Flat Config配置(eslint.config.js)
如果你的项目使用ESLint的扁平配置,修改根目录的eslint.config.js:
const nx = require('@nx/eslint-plugin'); const airbnbBase = require('eslint-config-airbnb-base'); const importPlugin = require('eslint-plugin-import'); const tsResolver = require('eslint-import-resolver-typescript'); module.exports = [ ...nx.configs['flat/base'], ...nx.configs['flat/typescript'], { extends: [airbnbBase], plugins: { import: importPlugin, }, settings: { 'import/resolver': { typescript: {}, }, }, rules: { // 自定义规则覆盖示例 'import/prefer-default-export': 'off', }, }, ];
3. 验证配置生效
运行NX的lint命令检测目标项目,确认AirBnB规则已生效:
nx lint <your-project-name>
若出现AirBnB规则相关的报错,说明配置成功,可根据项目需求在rules字段中调整或禁用特定规则。
内容的提问来源于stack exchange,提问作者Gurkirat Singh
相关产品推荐
相关产品推荐

