Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

MENGGUNAKAN `MODULE.EXPORTS` DAN PERBEDAANNYA DENGAN `EXPORTS`

Pelajari perbedaan antara `module.exports` dan `exports` dalam Node.js untuk mengoptimalkan pengelolaan modul pada proyek kamu.

Daftar Isi:

Apa Itu `module.exports`?
Perbedaan dengan `exports`
Cara Menggunakan `exports` den...
Kesimpulan

Dalam pengembangan aplikasi menggunakan Node.js, kamu mungkin sering menemui module.exports dan exports. Keduanya digunakan untuk mengekspor modul, namun terdapat beberapa perbedaan yang perlu diketahui agar modul dapat berfungsi dengan baik.

Apa Itu module.exports?

module.exports adalah objek yang asalnya kosong. Objek ini digunakan untuk mengekspor fungsi, objek, atau variabel agar bisa diakses dari file lain. Saat kamu menggunakan module.exports, kamu bisa mengekspor satu nilai seperti objek atau fungsi.

Contoh Penggunaan

// file person.js
function Person(name) {
    this.name = name;
}
module.exports = Person;

// file main.js
const Person = require('./person');
const me = new Person('Budi');
console.log(me.name); // Output: Budi

Pada contoh di atas, Person diekspor dari person.js dan diimpor ke main.js menggunakan require().

Perbedaan dengan exports

exports adalah referensi ke module.exports. Oleh karena itu, exports dan module.exports pada dasarnya menunjuk ke objek yang sama pada awalnya. Namun, jika exports diubah menjadi objek baru, maka akan kehilangan referensi ke module.exports.

Contoh Kesalahpahaman

// file person.js
exports = function Person(name) {
    this.name = name;
};

// file main.js
const Person = require('./person');
const me = new Person('Budi'); // Error: Person is not a constructor

Contoh di atas akan mengakibatkan error karena exports tidak lagi merujuk ke module.exports.

Cara Menggunakan exports dengan Benar

Kamu dapat menambahkan properti ke exports, asalkan tidak mengubah referensinya.

Contoh yang Tepat

// file person.js
exports.Person = function(name) {
    this.name = name;
};

// file main.js
const { Person } = require('./person');
const me = new Person('Budi');
console.log(me.name); // Output: Budi

Pada contoh ini, kita menambahkan fungsi Person sebagai properti dari exports, yang memungkinkan untuk diimpor dari main.js.

Kesimpulan

module.exports dan exports adalah cara untuk mengekspor konten dari suatu modul di Node.js. Meskipun keduanya pada dasarnya terkait, penting untuk memahami bagaimana mereka bekerja untuk menghindari bug dan kesalahan dalam aplikasi kamu. Gunakan module.exports untuk mengekspor satu objek atau fungsi, dan gunakan exports untuk menambahkan properti ke modul. Dengan pemahaman ini, kamu dapat membuat modul yang lebih rapi dan terstruktur.


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding