Export Beberapa Nilai pada Node.js

 


Pada materi sebelumnya kita telah mengetahui cara export nilai dari suatu berkas JavaScript. Lantas bagaimana jika kita perlu meng-export beberapa nilai sekaligus?

Mari kita contohkan dengan menambahkan variabel isCoffeeMachineReady pada berkas state.js seperti berikut:

  1. const coffeeStock = {
  2.     arabica: 100,
  3.     robusta: 150,
  4.     liberica: 200
  5. };
  6.  
  7. const isCoffeeMachineReady = true;

Kita tidak bisa melakukan export dari kedua nilai di atas dengan cara seperti di bawah ini:

  1. module.exports = coffeeStock;
  2. module.exports = isCoffeeMachineReady;

Baris kode kedua berarti kita menginisialisasikan ulang nilai properti module.exports sehingga nilai yang di-export hanya variabel isCoffeeMachineReady.

Solusinya adalah kita tetap mengekspor satu nilai, tetapi kita akan memanfaatkan object literals ({ }).

  1. module.exports = {coffeeStock, isCoffeeMachineReady}; 

Jika kita lihat nilai module pada console, nilai dari properti exports merupakan sebuah objek yang menampung nilai dari objek coffeeStock dan variabel isCoffeeMachineReady.

  1. Module {
  2.   id: '.',
  3.   path: '/home/dicoding/Playground/javascript/CoffeeMachine',
  4.   exports: {
  5.     coffeeStock: { arabica: 100, robusta: 150, liberica: 200 },
  6.     isCoffeeMachineReady: true
  7.   },
  8.   parent: null,
  9.   filename: '/home/dicoding/Playground/javascript/CoffeeMachine/state.js',
  10.   loaded: false,
  11.   children: [],
  12.   paths: [
  13.     '/home/dicoding/Playground/javascript/CoffeeMachine/node_modules',
  14.     '/home/dicoding/Playground/javascript/node_modules',
  15.     '/home/dicoding/Playground/node_modules',
  16.     '/home/dicoding/node_modules',
  17.     '/home/node_modules',
  18.     '/node_modules'
  19.   ]
  20. }

Lalu bagaimana cara import kedua nilai tersebut? Masih ingat dengan materi destructuring object? Pada berkas index.js kita gunakan teknik destructuring object untuk mendapatkan nilai yang di-import seperti ini:

  1. const {coffeeStock, isCoffeeMachineReady} = require('./state');
  2.  
  3. console.log(coffeeStock);
  4. console.log(isCoffeeMachineReady);
  5.  
  6. /* output
  7. { arabica: 100, robusta: 150, liberica: 200 }
  8. true
  9. */

Namun ingat, ketika menggunakan destructuring object pastikan penamaan variabel lokal sesuai dengan properti objeknya. Jika tidak, maka variabel tersebut akan menghasilkan undefined.

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.