在NextJs中检测生产或开发环境的最简单方法?

时间:2020-11-11 19:17:19

标签: next.js

我想基本上检测一下运行环境是开发环境还是生产环境。有没有直接的方法可以做到这一点?

if(env == "dev"){
  // do something
}
else if (env == "prod"){
 // do something
}

2 个答案:

答案 0 :(得分:0)

是的,如果您通过env访问process.env.NODE_ENV,这应该是开箱即用的。

通过next dev运行应用程序时,这将是开发 在构建应用程序并运行next start时,将此变量设置为 production

因此这应该起作用:

const env = process.env.NODE_ENV
if(env == "development"){
  // do something
}
else if (env == "production"){
 // do something
}

答案 1 :(得分:0)

基本上相同的解决方案,但我不想用丑陋的条件污染我的代码。所以我把它分解成一个简单的模块:

let inDevEnvironment = false;

if (process && process.env.NODE_ENV === 'development') {
  inDevEnvironment = true;
}

export {inDevEnvironment};

现在我可以写服务器代码了

import {inDevEnvironment} from '../lib/DevEnv';
...
   <div>
     {inDevEnvironment || /* ... production only code ... */}
   </div>
...
相关问题