DISKON 50% terbatas! 🎉 Gunakan kupon "programmer2025"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().
exportsexports 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: