我们可以在 ESLint 插件或共享配置(shareable config)中定义全局变量,以便其他项目能够方便地复用这些配置。下面是如何在 ESLint 插件和共享配置中定义全局变量的示例。

在 ESLint 插件中定义全局变量

要在 ESLint 插件中定义全局变量,你需要在插件的配置中添加 globals 属性。以下是一个示例:

创建 ESLint 插件

  1. 创建插件目录结构

    my-eslint-plugin/
    ├── index.js
    ├── package.json
    └── .eslintrc.js
    
  2. 配置 index.js

    // index.js
    module.exports = {
      rules: {
        // 插件中定义的规则
      },
      configs: {
        recommended: {
          globals: {
            myGlobalVar: 'readonly',
            anotherGlobalVar: 'writable'
          },
          rules: {
            // 推荐的规则配置
          }
        }
      }
    };
    
  3. 配置 package.json

    {
      "name": "my-eslint-plugin",
      "version": "1.0.0",
      "main": "index.js",
      "eslintConfig": {
        "extends": "./index.js"
      }
    }
    

使用插件

在项目的 ESLint 配置文件中,你可以使用这个插件:

// .eslintrc.js
module.exports = {
  plugins: [
    'my-eslint-plugin'
  ],
  extends: [
    'plugin:my-eslint-plugin/recommended'
  ]
};

在共享配置(Shareable Config)中定义全局变量

创建一个共享配置包,并在其中定义全局变量。

创建共享配置包

  1. 创建共享配置包目录结构

    eslint-config-myconfig/
    ├── index.js
    ├── package.json
    
  2. 配置 index.js

    // index.js
    module.exports = {
      globals: {
        myGlobalVar: 'readonly',
        anotherGlobalVar: 'writable'
      },
      rules: {
        // 共享配置中的规则
      }
    };
    
  3. 配置 package.json

    {
      "name": "eslint-config-myconfig",
      "version": "1.0.0",
      "main": "index.js"
    }
    

使用共享配置

在项目的 ESLint 配置文件中,你可以使用这个共享配置:

// .eslintrc.js
module.exports = {
  extends: [
    'eslint-config-myconfig'
  ]
};

总结

通过在 ESLint 插件或共享配置中定义全局变量,你可以方便地将这些全局变量配置共享给其他项目。这样,使用这些插件或共享配置的项目就可以自动获取这些全局变量的定义,无需在每个项目中重复定义。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3