我需要一些 linting 规则来抛出错误或警告,具体取决于构建是开发还是生产。在开发期间的 React 组件文件中 process.env.NODE_ENV
=== 'development'
。
在 eslintrc.js 中我有:
const production = process.env.NODE_ENV !== 'development'; // returns true
console.log('%c process.env.NODE_ENV', 'color: green;', process.env.NODE_ENV); // returns undefined
我希望能够在 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_ENV
未定义以及如何解决这个问题?
最佳答案
由于它在静态分析期间未定义,因此您始终可以执行以下操作:
'no-console': (() => {
if (typeof process.env.NODE_ENV === 'undefined') {
return 'off';
}
if (process.env.NODE_ENV === 'development') {
return 'off';
}
return 'error';
})(),
关于reactjs - process.node.env 在 eslintrc.js 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64612824/