在 Heroku 中使用 Craco 构建时创建未定义的 React App 环境变量

von*_*azt 8 heroku create-react-app craco

我正在将 Express 应用程序 (Node.js/React) 部署到 Heroku,并使用 Heroku 仪表板设置中的配置变量在 Heroku 中设置我的环境变量。process.env在服务器端,我可以毫无问题地使用它们。但是,在我的客户端中,我的process.env变量正在返回undefined

我已经为它们添加了前缀REACT_APP,问题似乎与craco buildmy 中的脚本有关client/package.json,该脚本在 Heroku 部署的构建阶段调用。如果我将其设置为react-scripts build,环境变量将按预期运行,但是,我的 TailwindCSS 配置会失败。

我也可以.env在客户端中有一个文件,但根据 Heroku 管道的阶段,我需要不同的值,并且 NODE_ENV总是"production"一次部署到 Heroku,所以我想不出一种根据阶段具有不同值的方法。

有没有办法在部署期间以相同的方式从 Heroku 配置变量中craco build获取变量?REACT_APPreact-scripts build

ner*_*ess 1

有一个专门构建的 npm 包,用于在 craco 中使用 .env 变量: https: //github.com/djdmbrwsk/dotenv-cra