我想在Nextjs中基本检测运行环境是dev还是production。有没有直接的方法可以做到这一点?
if(env == "dev"){
// do something
}
else if (env == "prod"){
// do something
}
Run Code Online (Sandbox Code Playgroud)
Ste*_*ker 13
基本上是相同的解决方案,但我不想用丑陋的条件污染我的代码。所以我把它分解成一个简单的模块:
export const inDevEnvironment = !!process && process.env.NODE_ENV === 'development';
Run Code Online (Sandbox Code Playgroud)
现在我可以编写服务器代码
import {inDevEnvironment} from '../lib/DevEnv';
...
<div>
{inDevEnvironment || /* ... production only code ... */}
</div>
...
<div>
{inDevEnvironment && /* ... development only code ... */}
</div>
...
Run Code Online (Sandbox Code Playgroud)
小智 5
是的,如果您env通过process.env.NODE_ENV.
当您通过next dev此方式运行您的应用程序时,将是development
在构建您的应用程序并运行时,next start将此变量设置为production。
因此,这应该有效:
const env = process.env.NODE_ENV
if(env == "development"){
// do something
}
else if (env == "production"){
// do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2602 次 |
| 最近记录: |