【问题标题】:environmental variable value not being processed未处理环境变量值
【发布时间】:2022-01-10 22:35:00
【问题描述】:

我还在学习环境。我不确定为什么它不起作用。我的根项目文件夹中有两个文件。 “.env.local”和“.env”。而且, .env 的值没有被处理。但是, .env.local 工作正常。我相信我遵循了相同的格式。

对于.env文件,如果我只是将它们写在页面上并公开它们,那么它们就可以正常工作。

我在这里缺少什么,这是在 NEXTJS 应用程序上。在 vercel 中,我只是将环境变量添加到它们的内置机制中。

在我的代码中,我写了这个来获取值。

环境本地文件

NEXT_PUBLIC_GOOGLE=xxxxxxxxxx

_app.js

我的环境文件 MAILCHIMP_PUBLIC_USERNAME=xxxxx MAILCHIMP_PUBLIC_DOMAIN=xxxx MAILCHIMP_PUBLIC_POST=xxxxxxxxxxxxxxxxxxxx&amp MAILCHIMP_PUBLIC_ID=xxxxxxxx

【问题讨论】:

    标签: next.js environment-variables mailchimp


    【解决方案1】:

    您是否准确阅读了next.js docs 关于Environment Variables 的内容? ;-)

    这是因为我们可以在next.js docs中看到:

    通常只需要一个 .env.local 文件。然而,有时你 可能想要为开发(下一个开发)添加一些默认值或 生产(下一次启动)环境。

    Next.js 允许您在 .env(所有环境)中设置 defaults, .env.development(开发环境)和.env.production (生产环境)。

    .env.local 总是覆盖默认设置。

    这里有更多关于如何在 next.js 中正确使用 .env 的示例。 source, source

    祝你好运,享受你的学习;-)!

    【讨论】:

    • 我摆脱了 .local 文件,现在只有一个 .env.development - 我的谷歌分析密钥工作正常。但是,不会处理 mailchimp 的其他值。
    • @shar27 我尽我所能为您提供了资源和最佳建议。如果您有新问题.. 我建议您添加新问题 ;-) 请记住添加所有代码!任何错误和信息;-) 祝你好运和最好的问候!
    • @shar27 请注意!!!使用变量的方式和位置很重要环境变量仅在 Node.js(serverside) 环境中可用,这意味着它们不会暴露给浏览器。为了向浏览器(客户端)公开变量,您必须在变量前面加上 NEXT_PUBLIC_。
    • @shar27 提示!检查你的来源;-)
    【解决方案2】:

    我认为.env.local 正在覆盖其他文件。还要记住将NEXT_PUBLIC_ 添加到变量中。编辑.env 文件后,您应该停止并重新启动开发服务器。在您的情况下,您应该执行以下操作

    NEXT_PUBLIC_MAILCHIMP_PUBLIC_USERNAME=xxxxx
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_DOMAIN=xxxx
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_POST=xxxxxxxxxxxxxxxxxxxx
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_ID=xxxxxxxx
    

    【讨论】:

    • 我摆脱了 .local 文件,现在只有一个 .env.development - 我的谷歌分析密钥工作正常。但是,不会处理 mailchimp 的其他值。
    • 请检查我的更新答案。
    • 检查所有 MailChimp 变量是否正确,并且您没有在应该使用数字的地方使用字符串。如果您将数字作为字符串保存在.env 文件Number(String(process.env.NEXT_PUBLIC_MAILCHIMP_ID)) 中,也可以执行此操作。如果所有变量都正确则尝试停止开发服务器,清除浏览器缓存并删除.next缓存文件夹并重新启动。
    • 谢谢!!这是关键 - 我错过了 Next_PUBLIC 的其他值
    猜你喜欢
    • 2019-09-29
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    相关资源
    最近更新 更多