如何在 Gatsby 应用程序的 .env 文件中指定 URL?

How to specify an URL in .env file of Gatsby app?

以防万一,我想了解一下 Gatsby 应用程序,以防其设置与其他基于节点的应用程序不同。

我想通过将 http://localhost:1337 移动到 .env 来重构 gatsby-config.js

来自

plugins: [
  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: `http://localhost:1337`,
    },
  },
]

plugins: [
  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: process.env.STRAPI,
    },
  },
]

.env 如下对我不起作用:

STRAPI=$(http://localhost:1337)

在项目的根目录中创建一个名为 .env.development.env.production 的文件。在那里,创建你的变量,只是:

STRAPI= "http://localhost:1337"

在您的 gatsby-config.js 中添加以下代码段(在模块导出上方):

require("dotenv").config({
  path: `.env.${process.env.NODE_ENV}`,
})

最后,保留配置:

plugins: [
  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: process.env.STRAPI,
    },
  },
]

默认情况下,当 运行 gatsby developgatsby build 时,Gatsby 将分别采用 .env.development.env.production,允许您将环境变量传递给服务器文件(gatsby-config.js,等)。