我想基本上检测一下运行环境是开发环境还是生产环境。有没有直接的方法可以做到这一点?
if(env == "dev"){
// do something
}
else if (env == "prod"){
// do something
}
答案 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>
...