相关疑难解决方法(0)

NextJS 公共环境变量不适用于 Azure 应用服务

我的 NextJS 应用程序中有一个NEXT_PUBLIC环境变量。它已在我的.env.local文件中设置并正常工作,但在将其部署到 Azure 应用服务后,应用程序无法读取它。它是“未定义”。我已在应用程序服务的配置下对其进行了配置。在此输入图像描述

关于可能出现的问题有什么建议吗?

提前致谢。

environment-variables azure azure-web-app-service next.js

12
推荐指数
1
解决办法
3111
查看次数

Next.js 12(使用react):无法读取环境变量,process.env未定义

我正在将 next.js 12 与 React 应用程序一起使用。

我有以下 .env.local 文件:

NEXT_PUBLIC_DEVELOPMENT_ENV_VARIABLE="public_development_variable"

我启动开发服务器并在浏览器中启动: console.log('###ENV', process.env) 并且我总是未定义。

在日志中,我有以下内容可以确认 env 文件已被读取: info - Loaded env from /Users/testdash/.env.local

但 process.env 始终为空

environment-variables reactjs next.js

4
推荐指数
1
解决办法
8580
查看次数

NextJS 中的环境变量未定义

我正在使用next-auth需要使用环境变量的库,如下所示:

  Providers.GitHub({
    clientId: process.env.GITHUB_ID,
    clientSecret: process.env.GITHUB_SECRET,
  }),
Run Code Online (Sandbox Code Playgroud)

然而,当我测试时next-auth它不起作用,在我看来原因是因为这些变量没有正确加载。因此,我做了一些测试,看看我是否可以访问我的应用程序中的环境变量,但测试表明我不能。

测试是这样进行的:

// .env.local (root level)

NEXT_PUBLIC_ENV_LOCAL_VARIABLE="public_variable_from_env_local"

Run Code Online (Sandbox Code Playgroud)

然后我将以下代码添加到我的网站:

  <h2>test one start</h2>
    {process.env.NEXT_PUBLIC_TEST_ONE}
  <h2>test one end</h2>

  <Spacer />

  <h2>test two start</h2>
    {process.env.TEST_TWO}
  <h2>test two end</h2>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,test one start显示并test one end显示,但环境变量不显示。test two start对于和也是如此test two end

我用 console.log 做了类似的测试 - 即:

  console.log("test one", process.env.NEXT_PUBLIC_TEST_ONE)
  console.log("test two", process.env.TEST_TWO)
Run Code Online (Sandbox Code Playgroud)

结果如下:

test one undefined
test two undefined
Run Code Online (Sandbox Code Playgroud)

简而言之,无论出于何种原因,我似乎无法在我的 nextjs 应用程序中加载环境变量。不是来自next-auth,不是在代码中,也不是在 console.log 中。变量未定义,我不知道为什么。

有任何想法吗?

谢谢。

javascript environment-variables reactjs next.js

3
推荐指数
1
解决办法
1万
查看次数