Home » Javascript » Local Modul dan Export Modul di Node.js

Local Modul dan Export Modul di Node.js

by syifaul fuadi
by syifaul fuadi

Modul pada Node.js terbagi menjadi 2, yaitu Local Modul dan Export Modul. Mari simak baik – baik penjelasan dari keduanya .

Local modul Node.js

Local modul adalah modul yang dibuat secara lokal di aplikasi Node.js Anda. Modul-modul ini menyertakan berbagai fungsi aplikasi Anda dalam file dan folder terpisah. Anda juga dapat mengemasnya dan mendistribusikannya melalui NPM, sehingga komunitas Node.js dapat menggunakannya. Misalnya, jika Anda perlu terhubung ke MongoDB dan mengambil data, Anda dapat membuat modul untuknya, yang dapat digunakan kembali dalam aplikasi Anda.

Menulis Simple Modul

Mari kita tulis modul logging sederhana yang mencatat informasi, peringatan atau kesalahan ke konsol.

Di Node.js, modul harus ditempatkan di file JavaScript terpisah. Jadi, buat file Log.js dan tulis kode berikut di dalamnya.

var log = {
            info: function (info) { 
                console.log('Info: ' + info);
            },
            warning:function (warning) { 
                console.log('Warning: ' + warning);
            },
            error:function (error) { 
                console.log('Error: ' + error);
            }
    };

module.exports = log

Dalam contoh modul logging di atas, kami telah membuat objek dengan tiga fungsi – info (), peringatan () dan error (). Pada akhirnya, kami telah menetapkan objek ini ke module.exports. Module.exports dalam contoh di atas memperlihatkan objek log sebagai modul.

Module.exports adalah objek khusus yang disertakan dalam setiap file JS di aplikasi Node.js secara default. Gunakan module.exports atau ekspor untuk mengekspos fungsi, objek, atau variabel sebagai modul di Node.js.

Sekarang, mari kita lihat bagaimana menggunakan modul logging di atas dalam aplikasi kita nantinya.

Memuat Modul Lokal

Untuk menggunakan modul lokal dalam aplikasi Anda, Anda perlu memuatnya menggunakan fungsi require () dengan cara yang sama seperti modul inti. Namun, Anda perlu menentukan jalur file JavaScript dari modul tersebut.

Contoh berikut menunjukkan cara menggunakan modul logging di atas yang terdapat di Log.js.

app.js

var myLogModule = require('./Log.js');

myLogModule.info('Node.js started');

Dalam contoh di atas, app.js menggunakan modul log.

Pertama, ia memuat modul logging menggunakan fungsi require () dan jalur yang ditentukan tempat modul logging disimpan. Modul pencatatan ada di file Log.js di folder root. Jadi, kami telah menetapkan jalur ‘./Log.js’ dalam fungsi require (). ‘.’ menunjukkan folder root.

Fungsi require () mengembalikan objek log karena modul logging mengekspos objek di Log.js menggunakan module.exports. Jadi sekarang Anda dapat menggunakan modul logging sebagai objek dan memanggil fungsinya menggunakan notasi titik misalnya myLogModule.info () atau myLogModule.warning () atau myLogModule.error ()

Jalankan contoh di atas menggunakan command prompt (di Windows) seperti yang ditunjukkan di bawah ini.

Dengan demikian, Anda dapat membuat modul lokal menggunakan module.exports dan menggunakannya dalam aplikasi Anda.

Mari kita lihat bagaimana mengekspos tipe yang berbeda sebagai modul node menggunakan module.exports di bagian selanjutnya.

Export Module in Node.js

Di sini, Anda akan belajar bagaimana mengekspos berbagai tipe sebagai modul menggunakan module.exports.

Module.exports adalah objek khusus yang disertakan dalam setiap file JavaScript di aplikasi Node.js secara default. Modul adalah variabel yang mewakili modul saat ini, dan ekspor adalah objek yang akan diekspos sebagai modul. Jadi, apa pun yang Anda tetapkan ke module.exports akan diekspos sebagai modul.

Mari kita lihat cara mengekspos berbagai tipe sebagai modul menggunakan module.exports.

Export Literals

Seperti disebutkan di atas, ekspor adalah suatu obyek. Artinya adalah mengekspos apa pun yang Anda tetapkan sebagai modul. Misalnya, jika Anda menetapkan literal string maka itu akan mengekspos literal string itu sebagai modul.

Contoh berikut memperlihatkan pesan string sederhana sebagai modul di Message.js.

module.exports = 'Hello world';

Sekarang, impor modul pesan ini dan gunakan seperti yang ditunjukkan di bawah ini.

var msg = require('./Messages.js');

console.log(msg);

Jalankan contoh di atas dan lihat hasilnya, seperti gambar di bawah ini.

CATATAN :

Anda harus menentukan ./ sebagai jalur folder root untuk mengimpor modul lokal. Namun, Anda tidak perlu menentukan jalur untuk mengimpor modul inti Node.js atau modul NPM di fungsi require ().

Export Object

Ekspor adalah sebuah obyek. Jadi, Anda dapat melampirkan properti atau metode ke dalamnya. Contoh berikut memperlihatkan objek dengan properti string di file Message.js.

exports.SimpleMessage = 'Hello world';

//or

module.exports.SimpleMessage = 'Hello world';

Dalam contoh di atas, kami telah melampirkan properti SimpleMessage ke objek ekspor. Sekarang, impor dan gunakan modul ini, seperti yang ditunjukkan di bawah ini.

var msg = require('./Messages.js');

console.log(msg.SimpleMessage);

Dalam contoh di atas, fungsi require () akan mengembalikan objek {SimpleMessage: ‘Hello World’} dan menetapkannya ke variabel msg. Jadi, sekarang Anda dapat menggunakan msg.SimpleMessage.

Jalankan contoh di atas dengan menulis node app.js di command prompt dan lihat hasilnya seperti di bawah ini.

Dengan cara yang sama seperti di atas, Anda dapat mengekspos objek dengan fungsi. Contoh berikut memperlihatkan objek dengan fungsi log sebagai modul.

Log.js

module.exports.log = function (msg) { 
    console.log(msg);
};

Modul di atas akan mengekspos objek- {log: function (msg) {console.log (msg); }}. Gunakan modul di atas seperti yang ditunjukkan di bawah ini.

app.js

var msg = require('./Log.js');

msg.log('Hello World');

Jalankan dan lihat outputnya di command prompt seperti gambar di bawah ini.

Export Function

Anda dapat melampirkan fungsi anonim untuk mengekspor objek seperti yang ditunjukkan di bawah ini.

Log.js

module.exports = function (msg) { 
    console.log(msg);
};

Sekarang, Anda dapat menggunakan modul di atas, seperti yang ditunjukkan di bawah ini.

app.js

var msg = require('./Log.js');

msg('Hello World');

Variabel msg menjadi ekspresi fungsi pada contoh di atas. Jadi, Anda bisa memanggil fungsi tersebut menggunakan tanda kurung (). Jalankan contoh di atas dan lihat hasilnya seperti yang ditunjukkan di bawah ini.

Fungsi Ekspor sebagai Class

Dalam JavaScript, suatu fungsi dapat diperlakukan seperti kelas. Contoh berikut memperlihatkan fungsi yang dapat digunakan seperti kelas.

Person.js

module.exports = function (firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.fullName = function () { 
        return this.firstName + ' ' + this.lastName;
    }
}

Modul di atas dapat digunakan, seperti gambar di bawah ini.

app.js

var person = require('./Person.js');

var person1 = new person('James', 'Bond');

console.log(person1.fullName());

Seperti yang Anda lihat, kami telah membuat objek person menggunakan kata kunci baru. Jalankan contoh di atas, seperti yang ditunjukkan di bawah ini.

Dengan cara ini, Anda dapat mengekspor dan mengimpor modul lokal yang dibuat dalam file terpisah di bawah folder root.

You may also like