Невозможно установить дополнительную переменную среды в сборке Gatsby

Я пытаюсь создать проект Gatsby с переменной промежуточной среды, но он всегда использует переменные производственной среды

Я использовал этот учебник Переменные среды | Гэтсби

Это мой файл gatsby-config.js

let activeEnv = process.env.ACTIVE_ENV || process.env.NODE_ENV || 
'development';

console.info(`Using environment config: '${activeEnv}'`);

require("dotenv").config({
  path: `.env.${activeEnv}`,
});

module.exports = { 
plugins: [
   {
     resolve: `gatsby-plugin-sass`,
     options: {
       precision: 8,
     },
   },
 ]
};

Это команда, которую я использую для создания

"build:staging": "set ACTIVE_ENV='staging' && gatsby build",

Когда я запускаю указанную выше команду, она показывает Использование конфигурации среды: 'staging' но после сборки он использует производственные переменные

Мои файлы .env Невозможно установить дополнительную переменную среды в сборке Gatsby

After Running ACTIVE_ENV='staging' gatsby build i got this

$ ACTIVE_ENV='staging' gatsby build
success delete html and css files from previous builds — 0.058 s
⠁ Using environment config: 'staging'
{ API_URL: 'https://api.company.com/api/company/test',
  COMPANY_URL: 'https://company.test.com/test/' }
success open and validate gatsby-config — 0.011 s
info One or more of your plugins have changed since the last time you ran 
Gatsby. As a precaution, we're deleting your site's cache to ensure there's not any stale
data
success copy gatsby files — 0.044 s
success onPreBootstrap — 0.039 s
success source and transform nodes — 0.026 s
success building schema — 0.112 s
success createLayouts — 0.007 s
success createPages — 0.001 s
success createPagesStatefully — 0.082 s
success onPreExtractQueries — 0.001 s
success update schema — 0.072 s
success extract queries from components — 0.041 s
success run graphql queries — 0.015 s
success write out page data — 0.005 s
success write out redirect data — 0.001 s
success onPostBootstrap — 0.001 s

info bootstrap finished - 3.516 s

success Building CSS — 13.139 s
success Building production JavaScript bundles — 26.757 s
⢀ Building static HTML for pages{ API_URL: 
'https://api.company.com/api/company/prod',
  COMPANY_URL: 'https://company.test.com/prod/',
  NODE_ENV: 'production',
  PUBLIC_DIR: 'D:\\website/public' }
success Building static HTML for pages — 8.390 s
info Done building in 51.808 sec

У меня такая же проблема :-( Я, поскольку я пользователь Linux, cross-env не является решением.

Dejell 18.07.2019 08:13

как вы распечатали URL-адрес после создания статического HTML для страниц?

Dejell 18.07.2019 10:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
2
762
1

Ответы 1

Я решил эту проблему с помощью пакета cross-env. Теперь все работает нормально.

Вот команда

"build:staging": "cross-env ACTIVE_ENV=\"staging\" gatsby build",

Теперь, когда я запускаю npm run build:staging, он строится с использованием .env.staging.

Другие вопросы по теме