NextJS - установить динамические переменные среды при запуске приложения - PullRequest
0 голосов
/ 18 мая 2018

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

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

стек: «следующий»: «5.0.0» «babel-plugin-inline-dotenv»: «1.1.1»,

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

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете использовать 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 теперь извлекается из средыпеременные.Теперь вы можете прочитать это значение с помощью importin next/config

Пример:

import getConfig from 'next/config';

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

source: next.js docs

...