【问题标题】:Running netlify dev and access .env file contents运行 netlify dev 并访问 .env 文件内容
【发布时间】:2019-11-22 04:02:09
【问题描述】:

我有一个 Gatsby 项目,其中包含几个功能。我想将我的一些变量迁移到env 变量。在 Netlify 中设置这些是轻而易举的事。

但是,我在本地尝试使用netlify dev 测试我的功能。它启动得很好,但是一旦我到达终点,就会出现问题,因为我正在访问process.env 上不存在的属性。我尝试在我的项目的根目录中添加一个.env.env.development 文件(我在其中运行netlify dev),但它似乎没有读取它们。我准备的文档只提到了netlify.toml 文件,但重点是不要将它放在源代码管理中。

我需要为该命令执行什么操作来获取我的.env 文件吗?

【问题讨论】:

    标签: netlify


    【解决方案1】:

    配置您的构建以获取您的 .env 并将其复制到用于部署网站的位置。

    例如,将复制步骤添加到您的构建命令中:

    // netlify.toml
    [build]
      command = "do-build && cp .env functions/"
    

    虽然这仅适用于使用 netlify 命令的本地部署。如果您想通过他们的自动部署来做到这一点,则无法检查.env 文件。

    为避免这种情况,您应该通过 Netlify 网站中的项目 UI 设置这些值。

    您可以在 toml 文件或我们的 UI 中创建环境变量。您可以使用后者将敏感值保留在存储库之外。

    https://docs.netlify.com/configure-builds/file-based-configuration/#inject-environment-variable-values

    【讨论】:

    • 在网站的 UI 中添加它们后,在运行 netlify dev 时它们会被拉下,并且可以按我的预期使用。就我而言,在 dev 和 prod 之间共享这些值是可以的,但是我希望大多数时候它们需要有单独的值。我猜 toml 文件可能有 dev 值,而 prod 会使用 UI 值。无论哪种方式都不是超级理想...感谢您的回答,这当然很有帮助。
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 2020-12-24
    • 2020-08-09
    • 1970-01-01
    • 2019-07-31
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多