NextJS - установка динамических переменных среды при запуске приложения

В процессе реализации мы создали единое здание и прошли различные этапы (интеграция, постановка и производство). В каждой из сред у нас есть переменные различия в окружающей среде.

Проблема в том, что когда мы запускали сервер, он ссылался только на переменные среды на сервере, но в клиенте файл process.env пуст.

stack: "next": "5.0.0" "babel-plugin-inline-dotenv": "1.1.1",

для загрузки используется файл .env "inline-dotenv"


person AleG    schedule 18.05.2018    source источник
comment
С [email protected] вы можете использовать github.com/zeit/   -  person lependu    schedule 18.06.2018


Ответы (1)


Вы можете использовать publicRuntimeConfig в файле next.config.js.

Пример:

// next.config.js
module.exports = {
  serverRuntimeConfig: { // Will only be available on the server side
    mySecret: 'secret'
  },
  publicRuntimeConfig: { // Will be available on both server and client
    staticFolder: '/static',
    mySecret: process.env.MY_SECRET // Pass through env variables
  }
}

обратите внимание, что значение publicRuntimeConfig.mySecret теперь извлекается из переменных среды. Итак, теперь вы можете прочитать это значение, импортировав next/config

Пример:

import getConfig from 'next/config';

const { publicRuntimeConfig } = getConfig();
console.log(publicRuntimeConfig.mySecret);

источник: next.js docs

person mohsenari    schedule 21.09.2018