Variabel Lingkungan
Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 6 dari 33.
Beberapa pengaturan ditentukan oleh orang yang menjalankan program, bukan oleh kata-kata yang mereka ketik setelahnya.
Variabel lingkungan adalah string bernama yang diteruskan shell ke setiap program. Node menempatkannya di process.env. Variabel yang belum disetel bernilai undefined. a ?? b menghasilkan a, kecuali jika a bernilai undefined atau null; dalam kasus itu, hasilnya b. Jadi, process.env.CITY ?? 'Lisbon' menghasilkan 'Lisbon' jika CITY belum disetel.
// CITY=Oslo node weather.js
const city = process.env.CITY ?? 'Lisbon';
console.log(`Weather for ${city}`);Di laptop, kamu dapat menyetel variabel untuk satu kali menjalankan program dengan menuliskannya sebelum perintah: CITY=Oslo node weather.js mencetak Weather for Oslo, sedangkan node weather.js saja mencetak Lisbon. Nama variabel peka huruf besar-kecil. Terminal di samping kodemu tidak menyetel variabel apa pun, jadi terminal itu selalu menampilkan nilai default.
Tantangan
MudahCatatanmu harus menyebutkan nama pemiliknya. Nama tersebut berasal dari variabel lingkungan, yaitu pengaturan bernama yang diberikan shell kepada program, bukan dari kata-kata yang diketik setelah perintah.
- Di
notes.js, pada cabanglist, baca variabel lingkunganNOTES_OWNER. - Sebelum
No notes yet, cetak baris judul:Notes fordiikuti nama pemiliknya. JikaNOTES_OWNERtidak diatur, gunakan katayousebagai pengganti nama.
Jika NOTES_OWNER diatur ke Ada, list mencetak:
Notes for Ada
No notes yetJika NOTES_OWNER tidak diatur, program mencetak:
Notes for you
No notes yetPerintah lainnya tidak berubah.
Coba: ketik list di kotak setelah $ node notes.js, lalu tekan Enter. Kamu akan melihat Notes for you, lalu No notes yet. Terminal di sini tidak dapat mengatur variabel lingkungan, jadi kamu akan selalu melihat you. Saat kamu menekan Periksa, pemeriksaan juga menjalankan list dengan NOTES_OWNER diatur ke Ada dan Grace, lalu mengharapkan Notes for Ada dan Notes for Grace. Di laptop, kamu dapat mencobanya dengan NOTES_OWNER=Ada node notes.js list.
Coba sendiri
// Alat catatanmu dimulai di sini.
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');
if (command === 'add') {
console.log(`Adding: ${text}`);
} else if (command === 'list') {
console.log('No notes yet');
} else {
if (command) {
console.error(`Unknown command: ${command}`);
}
console.error('Usage: node notes.js <command> [words]');
process.exit(1);
}
Semua pelajaran di Dasar-Dasar Node.js
1Menjalankan JavaScript di Node
Halo, NodeMembaca PerintahArgumen Baris PerintahPerintah5Peristiwa, Input, dan Package
Dengarkan Sebelum MengirimkanPemancar PeristiwaMembaca InputLatihan sendiri: Playground Express