В моем gatsby-config.js
я использовал пакет dotenv
для установки переменных env
require("dotenv").config({
path: `.env.${process.env.DEPLOY_ENV}`,
});
, а затем в моем package.json
сценарий для развертывания в различных средах
"deploy:staging": "DEPLOY_ENV=staging gatsby build --prefix-paths && s3-deploy ..."
В моем src/html.js
есть актив, который я хочу включить
<script src={`//${process.env.ASSET_HOST}/app.js`}></script>
Когда я регистрирую DEPLOY_ENV
из gatsby-config.js
, он устанавливается на staging
, однако, когда я регистрирую process.env
в src/html.js
, ASSET_HOST
устанавливается как тот, что в моем файле .env.production
, поэтому при развертывании в промежуточном режиме используются ресурсы с моего рабочего хоста.