检测生产与开发 在运行时做出反应
2022-08-30 02:21:12
是否有可能检测 React 的当前版本是在运行时开发还是生产?我想做这样的事情:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
是否有可能检测 React 的当前版本是在运行时开发还是生产?我想做这样的事情:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
这最好通过公开来模拟Node使用构建工具(webpack,browserify)做事的方式。通常,您将在 prod 中将其设置为“production”,在 dev 中将其设置为“开发”(或未定义)。process.env.NODE_ENV
所以你的代码变成:
if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {
// dev code
} else {
// production code
}
有关如何设置它,请参阅在 webpack 中启用或传递与环境相关的变量
我使用一个帮助程序文件(在Typescript中):
import process from "process";
const development: boolean = !process.env.NODE_ENV || process.env.NODE_ENV === 'development';
export default function isDev(): boolean
{
return development;
}
然后在其他地方,我像这样使用它:
import isDev from "./helpers/DevDetect";
if (isDev())
{
...
}