NextJS - Tetapkan variabel lingkungan dinamis di awal aplikasi

Dalam proses implementasi, kami membuat satu gedung dan melalui berbagai tahapan (integrasi, pementasan, dan produksi). Di setiap lingkungan, kami memiliki perbedaan lingkungan yang bervariasi.

Masalahnya adalah ketika kita memulai server hanya mengacu pada variabel lingkungan di server, tetapi di klien file process.env kosong.

tumpukan: "berikutnya": "5.0.0" "babel-plugin-inline-dotenv": "1.1.1",

untuk memuat file .env digunakan "inline-dotenv"


person AleG    schedule 18.05.2018    source sumber
comment
Dari [email protected] Anda dapat menggunakan github.com/zeit/   -  person lependu    schedule 18.06.2018


Jawaban (1)


Anda dapat menggunakan publicRuntimeConfig di file next.config.js Anda.

Contoh:

// 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
  }
}

perhatikan bahwa nilai publicRuntimeConfig.mySecret sekarang diambil dari variabel lingkungan. Jadi sekarang Anda dapat membaca nilai itu dengan mengimpor next/config

Contoh:

import getConfig from 'next/config';

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

sumber: dokumen next.js

person mohsenari    schedule 21.09.2018