Modul dalam Node.js adalah enkapsulasi kod logik dalam satu unit. Menjadi amalan pengaturcaraan yang baik untuk selalu memisahkan kod sedemikian rupa sehingga menjadikannya lebih terkawal dan dapat dikendalikan untuk tujuan masa depan. Di situlah modul dalam Node.js berfungsi.
Oleh kerana setiap modul adalah entiti bebas dengan fungsi tersendiri, modul ini dapat dikendalikan sebagai unit kerja yang berasingan.
Dalam tutorial ini, anda akan belajar-
- Apakah modul dalam Node.js
- Menggunakan modul di Node.js
- Membuat modul NPM
- Memperluaskan modul
- Penerbitan Modul NPM
- Menguruskan pakej pihak ketiga dengan npm
- Apakah fail package.json
Apakah modul dalam Node.js?
Seperti yang dinyatakan sebelumnya, modul dalam Node js adalah cara merangkumi kod dalam unit logik yang berasingan. Terdapat banyak modul readymade yang tersedia di pasaran yang boleh digunakan dalam Node js.
Berikut adalah beberapa modul popular yang digunakan dalam aplikasi Node js
- Rangka kerja Express - Express adalah kerangka aplikasi web Node js yang minimum dan fleksibel yang menyediakan sekumpulan ciri yang kuat untuk aplikasi web dan mudah alih.
- Socket.io - Socket.IO membolehkan komunikasi berasaskan acara dua arah masa nyata. Modul ini bagus untuk membuat aplikasi berasaskan sembang.
- Jade - Jade adalah mesin templat berprestasi tinggi dan dilaksanakan dengan JavaScript untuk nod dan penyemak imbas.
- MongoDB - Pemacu MongoDB Node.js adalah pemacu node.js yang disokong secara rasmi untuk MongoDB.
- Restify - restify adalah rangka ringan, serupa dengan express untuk membina API REST
- Bluebird - Bluebird adalah perpustakaan janji lengkap dengan tumpuan pada ciri dan prestasi inovatif
Menggunakan modul di Node.js
Untuk menggunakan modul dalam aplikasi Node.js, mereka terlebih dahulu perlu dipasang menggunakan pengurus paket Node.
Baris arahan di bawah menunjukkan bagaimana modul "express" dapat dipasang.
npm pasang express
- Perintah di atas akan memuat turun fail yang diperlukan yang mengandungi "modul ekspres" dan menguruskan pemasangannya juga
- Setelah modul dipasang, untuk menggunakan modul dalam aplikasi Node.js, anda perlu menggunakan kata kunci 'memerlukan'. Kata kunci ini adalah cara yang digunakan oleh Node.js untuk memasukkan fungsi modul dalam aplikasi.
Mari kita lihat contoh bagaimana kita boleh menggunakan kata kunci "memerlukan". Contoh kod "Guru99" di bawah menunjukkan cara menggunakan fungsi memerlukan
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){});var server=app.listen(3000,function(){});
- Dalam pernyataan pertama itu sendiri, kami menggunakan kata kunci "memerlukan" untuk memasukkan modul ekspres. Modul "express" adalah perpustakaan JavaScript yang dioptimumkan untuk pengembangan Node.js. Ini adalah salah satu modul Node.js yang paling biasa digunakan.
- Setelah modul dimasukkan, untuk menggunakan fungsi dalam modul, objek perlu dibuat. Di sini objek modul ekspres dibuat.
- Setelah modul dimasukkan menggunakan perintah "memerlukan" dan "objek" dibuat, kaedah yang diperlukan dari modul ekspres dapat digunakan. Di sini kita menggunakan perintah set untuk mengatur mesin lihat, yang digunakan untuk mengatur mesin templat yang digunakan di Node.js.
Catatan: - (Hanya untuk pemahaman pembaca; mesin templat adalah pendekatan untuk menyuntik nilai dalam aplikasi dengan mengambil data dari fail data. Konsep ini cukup terkenal di Angular JS di mana pendakap keriting {{key}} digunakan untuk menggantikan nilai di laman web. Kata 'kunci' pada pendakap keriting pada dasarnya menunjukkan pemboleh ubah yang akan diganti dengan nilai semasa halaman itu dipaparkan.)
- Di sini kita menggunakan kaedah mendengarkan untuk membuat aplikasi mendengarkan pada nombor port tertentu.
Membuat modul NPM
Node.js mempunyai kemampuan untuk membuat modul khusus dan membolehkan anda memasukkan modul khusus tersebut dalam aplikasi Node.js anda.
Mari kita lihat contoh ringkas bagaimana kita boleh membuat modul kita sendiri dan memasukkan modul tersebut dalam fail aplikasi utama kita. Modul kami hanya akan melakukan tugas mudah untuk menambahkan dua nombor.
Mari ikuti langkah di bawah untuk melihat bagaimana kita dapat membuat modul dan memasukkannya ke dalam aplikasi kita.
Langkah 1) Buat fail yang dipanggil "Addition.js" dan sertakan kod di bawah. Fail ini akan mengandungi logik untuk modul anda.
Berikut adalah kod yang akan masuk ke dalam fail ini;
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
- Kata kunci "eksport" digunakan untuk memastikan bahawa fungsi yang ditentukan dalam fail ini sebenarnya dapat diakses oleh fail lain.
- Kami kemudian menentukan fungsi yang disebut 'AddNumber'. Fungsi ini ditentukan untuk mengambil 2 parameter, a dan b. Fungsi tersebut ditambahkan ke modul "eksport" untuk menjadikan fungsi tersebut sebagai fungsi umum yang dapat diakses oleh modul aplikasi lain.
- Kami akhirnya membuat fungsi kami mengembalikan nilai tambah parameter.
Sekarang kita telah membuat modul khusus kita yang mempunyai fungsi menambahkan 2 nombor. Sekarang masanya untuk membuat aplikasi, yang akan memanggil modul ini.
Pada langkah seterusnya, kita sebenarnya akan melihat bagaimana membuat aplikasi yang akan memanggil modul khusus kita.
Langkah 2) Buat fail yang disebut "app.js," yang merupakan fail aplikasi utama anda dan tambahkan kod di bawah
var Addition=require('./Addition.js');console.log(Addition.AddNumber(1,2));
- Kami menggunakan kata kunci "memerlukan" untuk memasukkan fungsi dalam fail Addition.js.
- Oleh kerana fungsi dalam fail Addition.js sekarang dapat diakses, kita sekarang dapat membuat panggilan ke fungsi AddNumber. Dalam fungsi tersebut, kita meneruskan 2 nombor sebagai parameter. Kami kemudian memaparkan nilai di konsol.
Keluaran :
- Apabila anda menjalankan fail app.js, anda akan mendapat output dari nilai 3 dalam log konsol.
- Hasilnya adalah kerana fungsi AddNumber dalam fail Addition.js berjaya dipanggil, dan nilai yang dikembalikan 3 ditunjukkan di konsol.
Catatan: - Kami belum menggunakan "Pengurus pakej Node" untuk memasang modul Addition.js kami. Ini kerana modul ini sudah menjadi sebahagian daripada projek kami di mesin tempatan. Pengurus pakej Node muncul dalam gambar ketika anda menerbitkan modul di internet, yang kita lihat dalam topik berikutnya.
Memperluaskan modul
Semasa membuat modul, juga memungkinkan untuk memperluas atau mewarisi satu modul dari modul yang lain.
Dalam pengaturcaraan moden, adalah biasa untuk membina perpustakaan modul biasa dan kemudian memperluas fungsi modul umum ini jika diperlukan.
Mari kita lihat contoh bagaimana kita dapat memperluas modul di Node.js.
Langkah 1) Buat modul asas.
Dalam contoh kami, buat fail bernama "Tutorial.js" dan letakkan kod di bawah.
Dalam kod ini, kami hanya membuat fungsi yang mengembalikan rentetan ke konsol. Rentetan yang dikembalikan adalah "Tutorial Guru99".
var exports=module.exports={};exports.tutorial=function(){console.log("Guru99 Tutorial")}
- Modul eksport digunakan supaya fungsi apa pun yang ditentukan dalam fail ini boleh didapati di modul lain di Node.js
- Kami membuat fungsi yang disebut tutorial yang dapat digunakan dalam modul Node.js lain.
- Kami memaparkan rentetan "Guru99 Tutorial" di konsol ketika fungsi ini dipanggil.
Sekarang kami telah membuat modul asas kami yang disebut Tutorial.js. Sudah tiba masanya untuk membuat modul lain yang akan memperluas modul asas ini.
Kami akan meneroka cara melakukannya pada langkah seterusnya.
Langkah 2) Seterusnya, kami akan membuat modul lanjutan kami. Buat fail baru bernama "NodeTutorial.js" dan letakkan kod di bawah ini dalam fail.
var Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")function pTutor(){var PTutor=TutorPTutor.tutorial();}}Orvar Tutor=require('./Tutorial.js');exports.NodeTutorial=function(){console.log("Node Tutorial")this.pTutor = function (){var PTutor=TutorPTutor.tutorial();}}
Perhatikan, perkara utama berikut mengenai kod di atas
- Kami menggunakan fungsi "memerlukan" dalam fail modul baru itu sendiri. Oleh kerana kita akan memperluas fail modul yang ada "Tutorial.js", kita perlu memasukkannya terlebih dahulu sebelum memanjangkannya.
- Kami kemudian membuat fungsi yang disebut "Nodetutorial." Fungsi ini akan melakukan 2 perkara,
- Ia akan menghantar rentetan "Node Tutorial" ke konsol.
- Ia akan menghantar rentetan "Tutorial Guru99" dari modul asas "Tutorial.js" ke modul lanjutan kami "NodeTutorial.js".
- Di sini kita melakukan langkah pertama untuk menghantar rentetan ke "Node Tutorial" ke konsol.
- Langkah seterusnya adalah memanggil fungsi dari modul Tutorial kami, yang akan mengeluarkan rentetan "Guru99 Tutorial" ke console.log.
Langkah 3) Buat fail app.js utama anda, yang merupakan fail aplikasi utama anda dan sertakan kod di bawah.
var localTutor=require('./NodeTutorial.js');localTutor.NodeTutorial();localTutor.NodeTutorial.pTutor();Or use this codevar tut = new localTutor.NodeTutorial(); // Create and save objecttut.pTutor(); // Call function on object
Kod di atas melakukan perkara berikut;
- Fail aplikasi utama kami kini memanggil modul "NodeTutorial".
- Kami memanggil fungsi "NodeTutorial". Dengan memanggil fungsi ini, teks "Node Tutorial" akan dipaparkan di log konsol.
- Oleh kerana kami telah memperluas modul Tutorial.js kami dan mendedahkan fungsi yang disebut pTutor. Ia juga memanggil modul tutorial dalam modul Tutorial.js, dan teks "Guru99 Tutorial" akan dipaparkan ke konsol juga.
Pengeluaran:
Oleh kerana kita telah melaksanakan kod app.js di atas menggunakan Node, kita akan mendapat output berikut dalam fail console.log
- Tutorial Node
- Tutorial Guru99
Penerbitan Modul NPM (Pengurus Pakej Node)
Seseorang boleh menerbitkan modul mereka sendiri ke repositori Github mereka sendiri.
Dengan menerbitkan modul anda ke lokasi pusat, Anda tidak akan dibebani dengan memasang sendiri pada setiap mesin yang memerlukannya.
Sebagai gantinya, anda boleh menggunakan perintah pemasangan npm dan memasang modul npm anda yang diterbitkan.
Langkah-langkah berikut perlu diikuti untuk menerbitkan modul npm anda
Langkah 1) Buat repositori anda di GitHub (alat pengurusan repositori kod dalam talian). Ia boleh digunakan untuk hosting repositori kod anda.
Langkah 2 ) Anda perlu memberitahu pemasangan npm tempatan anda mengenai siapa anda. Yang bermaksud bahawa kita perlu memberitahu npm siapa pengarang modul ini, apakah id e-mel dan mana-mana URL syarikat, yang ada yang perlu dikaitkan dengan id ini. Semua butiran ini akan ditambahkan ke modul npm anda semasa diterbitkan.
Perintah di bawah menetapkan nama, e-mel dan URL pengarang modul npm.
npm tetapkan init.author.name "Guru99."
npm set init.author.email " Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya."
npm set init.author.url http://Guru99.com
Langkah 3) Langkah seterusnya adalah masuk ke npm menggunakan kelayakan yang diberikan pada langkah terakhir. Untuk log masuk, anda perlu menggunakan arahan di bawah
npm login
Langkah 4) Memulakan pakej anda - Langkah seterusnya adalah menginisialisasi pakej untuk membuat fail package.json. Ini dapat dilakukan dengan mengeluarkan arahan di bawah
npm init
Apabila anda mengeluarkan arahan di atas, anda akan diminta untuk mengemukakan beberapa soalan. Yang paling penting ialah nombor versi untuk modul anda.
Langkah 5) Terbitkan ke GitHub - Langkah seterusnya adalah menerbitkan fail sumber anda ke GitHub. Ini dapat dilakukan dengan menjalankan perintah di bawah.
git add.git commit -m "Initial release"git tag v0.0.1git push origin master --tags
Langkah 6) Terbitkan modul anda - Bit terakhir adalah menerbitkan modul anda ke dalam pendaftaran npm. Ini dilakukan melalui arahan di bawah.
npm publish
Menguruskan pakej pihak ketiga dengan npm
Seperti yang telah kita lihat, "Node package manager" memiliki kemampuan untuk mengurus modul, yang diperlukan oleh aplikasi Node.js.
Mari lihat beberapa fungsi yang terdapat dalam pengurus pakej nod untuk menguruskan modul
-
Memasang pakej dalam mod global - Modul boleh dipasang di peringkat global, yang pada dasarnya bermaksud modul ini akan tersedia untuk semua projek Node.js pada mesin tempatan. Contoh di bawah menunjukkan cara memasang "modul ekspres" dengan pilihan global.
npm pasang express-global
Pilihan global dalam pernyataan di atas adalah yang membolehkan modul dipasang pada peringkat global.
-
Menyenaraikan semua pakej global yang dipasang pada mesin tempatan. Ini dapat dilakukan dengan melaksanakan perintah di bawah ini pada command prompt
senarai npm - global
Di bawah ini adalah output yang akan ditunjukkan, jika sebelum ini anda memasang "modul ekspres" pada sistem anda.
Di sini anda dapat melihat pelbagai modul yang dipasang pada mesin tempatan.
-
Memasang versi pakej tertentu - Kadang-kadang mungkin ada syarat untuk memasang hanya versi pakej tertentu. Setelah anda mengetahui nama pakej dan versi yang relevan yang perlu dipasang, anda boleh menggunakan perintah pemasangan npm untuk memasang versi khusus tersebut.
Contoh di bawah menunjukkan cara memasang modul yang disebut garis bawah dengan versi tertentu 1.7.0
npm pasang [email protected]
-
Mengemas kini versi pakej - Kadang-kadang anda mungkin mempunyai versi pakej yang lebih lama dalam sistem, dan anda mungkin ingin mengemas kini ke versi terbaru yang tersedia di pasaran. Untuk melakukan ini, seseorang boleh menggunakan arahan kemas kini npm. Contoh di bawah menunjukkan cara mengemas kini pakej garis bawah ke versi terkini
npm kemas kini garis bawah
-
Mencari pakej tertentu - Untuk mencari sama ada versi tertentu tersedia di sistem tempatan atau tidak, anda boleh menggunakan perintah carian npm. Contoh di bawah akan memeriksa sama ada modul ekspres dipasang pada mesin tempatan atau tidak.
npm cari ekspres
-
Menyahpasang pakej - Sama seperti pemasangan pakej, anda juga boleh menyahpasang pakej. Penghapusan pakej dilakukan dengan arahan penyahpasangan npm. Contoh di bawah menunjukkan cara menyahpasang modul ekspres
npm uninstall express
Apakah fail package.json
Fail "package.json" digunakan untuk menyimpan metadata mengenai projek tertentu . Maklumat ini memberikan pengurus pakej Node maklumat yang diperlukan untuk memahami bagaimana projek itu harus ditangani bersama dengan kebergantungannya.
Fail package.json mengandungi maklumat seperti keterangan projek, versi projek dalam sebaran tertentu, maklumat lesen, dan data konfigurasi.
Fail package.json biasanya terletak di direktori root projek Node.js.
Mari kita ambil contoh bagaimana struktur modul kelihatan ketika dipasang melalui npm.
Ringkasan di bawah menunjukkan kandungan fail modul ekspres apabila dimasukkan dalam projek Node.js anda. Dari gambar itu, anda dapat melihat fail package.json dalam folder ekspres.
Sekiranya anda membuka fail package.json, anda akan melihat banyak maklumat dalam fail tersebut.
Berikut adalah petikan sebahagian fail. The express@~4.13.1 menyebut nombor versi modul ekspres yang digunakan.
Ringkasan
- Modul dalam Node.js adalah enkapsulasi kod logik dalam satu unit. Pemisahan ke dalam modul menjadikan kod lebih terkawal dan dapat dikendalikan untuk tujuan masa depan
- Terdapat banyak modul yang tersedia di pasaran yang boleh digunakan dalam Node.js seperti express, garis bawah, MongoDB, dll.
- Pengurus pakej nod (npm) digunakan untuk memuat turun dan memasang modul yang kemudian dapat digunakan dalam aplikasi Node.js.
- Seseorang boleh membuat modul NPM khusus, memperluas modul ini, dan juga menerbitkan modul-modul ini.
- Pengurus paket Node mempunyai satu set perintah yang lengkap untuk menguruskan modul npm pada sistem tempatan seperti pemasangan, un-pemasangan, pencarian, dll.
- Fail package.json digunakan untuk menyimpan keseluruhan maklumat metadata untuk modul npm.