Jawaban:
process.env.ENV_VARIABLE
Di mana ENV_VARIABLEnama variabel yang ingin Anda akses.
Lihat Node.js docs untukprocess.env .
process.env.FOO = "foo";bekerja.
process.envdisanitasi untuk alasan keamanan. Hanya variabel yang memulai dengan REACT_ENV_yang tersedia. Lihat: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Ketika menggunakan Node.js , Anda dapat mengambil variabel lingkungan dengan kunci dari process.envobjek:
sebagai contoh
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Inilah jawaban yang akan menjelaskan pengaturan variabel lingkungan di node.js
process.envdibangun ke api node.js.
Jika Anda ingin menggunakan kunci string yang dihasilkan dalam program Node.js Anda, katakanlah var v = 'HOME', Anda dapat menggunakan
process.env[v].
Kalau tidak, process.env.VARNAMEharus di-hardcode di program Anda.
process.env['HOME']?
Untuk mengambil variabel lingkungan di Node.JS Anda dapat menggunakan process.env.VARIABLE_NAME , tetapi jangan lupa bahwa menempatkan properti di process.env akan secara implisit mengkonversi nilai menjadi string.
Bahkan jika file .env Anda mendefinisikan variabel seperti SHOULD_SEND = false atau SHOULD_SEND = 0 , nilai-nilai akan dikonversi ke string ( masing-masing "false" dan "0" ) dan tidak diartikan sebagai boolean.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Sebagai gantinya, Anda harus melakukan pemeriksaan eksplisit. Saya telah menemukan tergantung pada nama lingkungannya.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Anda dapat menggunakan paket env untuk mengelola variabel lingkungan Anda per proyek:
.envfile di bawah direktori proyek dan letakkan semua variabel Anda di sana.require('dotenv').config();Selesai Sekarang Anda dapat mengakses variabel lingkungan Anda process.env.ENV_NAME.
envperpustakaan.
envdirutilitas.
nodespesifik.
Mengapa tidak menggunakannya di direktori Users di .bash_profilefile, jadi Anda tidak perlu mendorong file apa pun dengan variabel Anda ke produksi?
envdi jendela shell lain saat proses node sedang berjalan, atau di shell yang sama setelah proses node keluar.