【发布时间】:2020-02-10 09:12:37
【问题描述】:
在构建 Gatsby 项目时,我会在 production 环境中获取所有 env 变量 undefined。
在development 一切都很好。
我有 2 个类似的 .env.development 和 .env.production 文件。
在我的gatsby-config.js我有
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`,
});
如果我在gatsby build 期间console.log(process.env.NODE_ENV) 它给出production 并且可以访问和注销变量。
但稍后在代码中类似于
return request.post(`${process.env.GEOCODING_CF_URL}/latlng`, {...});
向http://localhost:9000/ru/undefined/latlng发出请求。
我做错了什么以及如何解决这个问题?
更新:
当我运行 gatsby build - process.env.NODE_ENV 是 production
当我运行 gatsby serve - process.env.NODE_ENV 是 undefined
如果这对您有任何帮助。
【问题讨论】:
-
Gatsby 有关于使用环境变量的官方文档 (gatsbyjs.org/docs/environment-variables/…)。你看完了吗?
-
您在 env.development 和 env.production 文件中定义了环境变量吗? GEOCODING_CF_URL=某事
标签: environment-variables gatsby