ESLint no-undef 和 webpack 插件

10

我使用webpack插件:

new webpack.DefinePlugin({              
            PUBLIC_KEY:'\'XXX\'',
            CLIENT_ID: '\'XXXX\''
        })



tgc.init({
            publicKey: PUBLIC_KEY,
            clientId: CLIENT_ID     
        });

我使用eslint并使用禁止未声明的变量 (no-undef)规则,所以当我写代码时

tgc.init({
            publicKey: PUBLIC_KEY,
            clientId: CLIENT_ID     
    });

我得到错误:

'PUBLIC_KEY'未定义
'CLIENT_ID'未定义

如何避免这种情况?我不想禁用此规则(禁用规则时一切正常)

1个回答

29

地址:

  "globals": {
    "PUBLIC_KEY": true,
    "CLIENT_ID": true,
  }

将内容添加到您的eslint.rc文件中。

或者,您可以在您的webpack配置文件中通过内联注释来执行相同的操作,例如:

/* global PUBLIC_KEY, CLIENT_ID */

谢谢您的回答,我相信我表达不够清晰。eslint 报错了关于 PUBLIC_KEYCLIENT_ID - user348173
已编辑答案... 顺便说一句,你真的应该将那种变量作为进程环境变量。请参阅:https://github.com/motdotla/dotenv - Hardy
应该使用 "readonly" 而不是 true,因为变量是不可修改的,而且使用 truefalse 已经被弃用了:https://eslint.org/docs/latest/use/configure/language-options#using-configuration-files-1 - Jean Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接