Reactjs eslintrc.js中未定义process.node.env

Reactjs eslintrc.js中未定义process.node.env,reactjs,eslint,Reactjs,Eslint,我需要一些linting规则来抛出错误或警告,这取决于构建是开发还是生产。在开发过程中,在React组件文件中process.env.NODE_env=='development' 在eslintrc.js中,我有: const production=process.env.NODE\u env!='发展“;//返回true console.log(“%c process.env.NODE_env”,“color:green;”,process.env.NODE_env);//返回未定义的 我

我需要一些linting规则来抛出错误或警告,这取决于构建是开发还是生产。在开发过程中,在React组件文件中
process.env.NODE_env
==
'development'

在eslintrc.js中,我有:

const production=process.env.NODE\u env!='发展“;//返回true
console.log(“%c process.env.NODE_env”,“color:green;”,process.env.NODE_env);//返回未定义的
我希望能够在linting规则警告之间切换。还有这样的错误:

    rules: {
        'no-tabs': 0,
        indent: [2, 'tab', { SwitchCase: 1, VariableDeclarator: 1 }],
        'react/jsx-props-no-spreading': 'off',
        'no-unused-vars':
            production
                ? 'error'
                : 'warn',

为什么
process.env.NODE\u env
未定义?我如何修复此问题?

您可能会考虑为eslint提供多个配置文件,而不是尝试在单个文件中处理环境更改

根据文件:

您只需使用
-c
--config
标志调用eslint,然后传入额外的配置文件。这将合并一个基本配置文件和在标志中传递的文件

两个lint脚本的示例:
eslint--config./dev-config.js**/*.js


eslint--config./prod-config.js**/*.js

由于它在静态分析过程中是未定义的,所以您始终可以执行以下操作:

    rules: {
        'no-tabs': 0,
        indent: [2, 'tab', { SwitchCase: 1, VariableDeclarator: 1 }],
        'react/jsx-props-no-spreading': 'off',
        'no-unused-vars':
            production
                ? 'error'
                : 'warn',
“没有控制台”:(()=>{
if(typeof process.env.NODE_env===‘未定义’){
返回“关”;
}
if(process.env.NODE_env===‘development’){
返回“关”;
}
返回“错误”;
})(),

我可以想象,在IDE的静态分析过程中,任何环境变量都是未定义的,因为代码实际上不是在环境中运行的。