Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
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.
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.
// 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()
.
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
.
// 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
.
exports
dengan BenarKamu dapat menambahkan properti ke exports
, asalkan tidak mengubah referensinya.
// 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
.
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.
Link terkait: