是否可以在运行时检测当前版本的 React 是开发版还是生产版?我想做这样的事情:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
是否可以在运行时检测当前版本的 React 是开发版还是生产版?我想做这样的事情:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
最好通过将process.env.NODE_ENV
. 通常,您将在 prod 中将其设置为“生产”,在开发中将其设置为“开发”(或未定义)。
所以你的代码变成:
if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {
// dev code
} else {
// production code
}
关于如何设置,请参阅envify或Passing environment-dependent variables in 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())
{
...
}
我想从 index.html 访问它并需要一个不涉及弹出 webpack 或使用其他module配置它的解决方案,我想出了这个。
来源是上面大卫的回答和在 html 文件中使用环境变量的create-react-app 文档
if ( ! '%NODE_ENV%' || '%NODE_ENV%' === 'development') {
// dev code
} else {
// production code
}