Remix.run 在 Vercel 上部署:进程未定义错误

Remix.run deployment on Vercel: process not defined error

我已经在 Vercel 上部署了一个混音应用程序。此外,我在 Vercel 中定义了一些环境变量,并希望在我的应用程序中执行一些检查并使用环境变量:

  if (process.env.NODE_ENV === 'production') {
    setPaths({
      path: process.env.prod_path,
    })
  }

它给我错误,process is not defined。我什至尝试在 if 语句中添加 process &&,但没有帮助。

其次,我什至无法在本地设置环境变量。我关注 remix docs,但每次我 console.log 时它都会给我 undefined,如文档中所述。

任何 guide/pointer 在 remix 中使用环境变量都会非常有帮助。

我不确定,但是函数名(setXXX 让我觉得这是一个钩子的 setter),让我觉得你正试图在浏览器,但 process.env 仅在 server-side 代码中可用,如果你想在你的 React 应用程序中使用环境变量,你可以使用 this guide 将变量从服务器端发送到你的 React 应用程序.如果此代码是服务器端代码,也许值得在 stackblitz 中复制一份,以便我们更好地了解它。

我能够解决这个问题。我正在使用 loader/useLoaderData 访问服务器端环境变量。问题是我试图在组件级别调用它们。显然,我们只能在路由级别调用它们。