我在Vercel上部署了一个remix应用程序。此外,我在Vercel中定义了一些环境变量,并希望在我的应用程序中执行一些检查和使用环境变量:
if (process.env.NODE_ENV === 'production') {
setPaths({
path: process.env.prod_path,
})
}
它给我错误,process is not defined
。我甚至尝试在if
语句中添加process &&
,但没有帮助。
第二,我甚至不能在本地设置环境变量。我遵循了remix文档,但每次当我在文档中提到的console.log
时,它都会给我undefined
。
任何关于在混音中使用环境变量的指南/指针都会很有帮助。
我能够解决这个问题。我使用loader/useLoaderData来访问服务器端环境变量。问题是我试图在组件级别调用这些。显然,我们只能在路由级别调用它们。
我不确定,但函数的名称(setXXX让我认为这是一个钩子的setter),让我认为你试图使用进程。Env在浏览器中,但进程。env只在服务器端代码中可用,如果你想在你的react应用程序中使用env变量,你可以使用这个指南将变量从服务器端发送到你的react应用程序。如果这段代码是服务器端代码,也许值得在stackblitz中复制一遍,这样我们可以更好地看看它。