Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测生产与开发在运行时作出反应_Javascript_Reactjs - Fatal编程技术网

Javascript 检测生产与开发在运行时作出反应

Javascript 检测生产与开发在运行时作出反应,javascript,reactjs,Javascript,Reactjs,是否可以在运行时检测React的当前版本是开发版本还是生产版本?我想这样做: if (React.isDevelopment) { // Development thing } else { // Real thing } import isDev from "./helpers/DevDetect"; if (isDev()) { ... } 最好通过公开process.env.Node\u env来模拟使用构建工具webpack、browserify进行操作的节点方式。

是否可以在运行时检测React的当前版本是开发版本还是生产版本?我想这样做:

if (React.isDevelopment) {
  // Development thing
} else {
  // Real thing
}
import isDev from "./helpers/DevDetect";

if (isDev())
{
    ...
}

最好通过公开
process.env.Node\u env
来模拟使用构建工具webpack、browserify进行操作的节点方式。通常,在prod中将其设置为“生产”,在dev中将其设置为“开发”(或未定义)

因此,您的代码变成:

if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {
    // dev code
} else {
    // production code
}
有关如何设置,请参见或

我使用帮助文件(在Typescript中):

然后在其他地方我使用它如下:

if (React.isDevelopment) {
  // Development thing
} else {
  // Real thing
}
import isDev from "./helpers/DevDetect";

if (isDev())
{
    ...
}

我想从index.html访问它,并希望得到一个解决方案,它不涉及弹出网页包或配置额外的模块,我想出了这个

来源是和


客户端上未定义进程。您需要使用webpack之类的生成工具。如果您使用的是create react app,
process.env.NODE_env
将在开发模式下为“开发”。添加到@Joseph238的注释中-使用create react app时,
process.env.NODE\u env
将为您定义,您可以在应用程序中的任何位置访问它@Joseph238@ShaungCheng我刚刚使用最新脚本创建了一个新的应用程序,使用
create react app
,但是
process.env
没有变量
NODE\u env