Jawaban:
process.env.ENV_VARIABLE
Di mana ENV_VARIABLE
nama variabel yang ingin Anda akses.
Lihat Node.js docs untukprocess.env
.
process.env.FOO = "foo";
bekerja.
process.env
disanitasi 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.env
objek:
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.env
dibangun 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.VARNAME
harus 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:
.env
file 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
.
env
perpustakaan.
envdir
utilitas.
node
spesifik.
Mengapa tidak menggunakannya di direktori Users di .bash_profile
file, jadi Anda tidak perlu mendorong file apa pun dengan variabel Anda ke produksi?
env
di jendela shell lain saat proses node sedang berjalan, atau di shell yang sama setelah proses node keluar.