Dalam tutorial ini, kita akan mempelajari kerangka Express. Rangka kerja ini dibina sedemikian rupa sehingga berfungsi sebagai kerangka aplikasi web Node.js yang minimum dan fleksibel, menyediakan satu set ciri yang kuat untuk membangun aplikasi web tunggal dan berbilang halaman, dan hibrid.
Dalam tutorial ini, anda akan belajar-
- Apa itu Express.js?
- Memasang dan menggunakan Express
- Apa itu Laluan?
- Contoh pelayan Web menggunakan express.js
Apa itu Express.js?
Express.js adalah kerangka pelayan aplikasi web Node js, yang secara khusus dirancang untuk membina aplikasi web satu halaman, berbilang halaman, dan hibrid.
Ini telah menjadi kerangka pelayan standard untuk node.js. Express adalah bahagian backend dari sesuatu yang dikenali sebagai MEAN stack.
MEAN adalah timbunan perisian JavaScript sumber terbuka dan bebas untuk membina laman web dan aplikasi web yang dinamik yang mempunyai komponen berikut;
1) MongoDB - Pangkalan data NoSQL standard
2) Express.js - Rangka kerja aplikasi web lalai
3) Angular.js - Kerangka kerja JavaScript MVC yang digunakan untuk aplikasi web
4) Node.js - Rangka kerja yang digunakan untuk aplikasi pelayan dan rangkaian yang boleh diskalakan.
Kerangka Express.js menjadikannya sangat mudah untuk mengembangkan aplikasi yang dapat digunakan untuk menangani beberapa jenis permintaan seperti permintaan GET, PUT, dan POST dan DELETE.
Memasang dan menggunakan Express
Express dipasang melalui Pengurus Pakej Node. Ini dapat dilakukan dengan melaksanakan baris berikut dalam baris perintah
npm pasang express
Perintah di atas meminta pengurus pakej Node memuat turun modul ekspres yang diperlukan dan memasangnya dengan sewajarnya.
Mari gunakan kerangka Express kami yang baru dipasang dan buat aplikasi "Hello World" yang ringkas.
Aplikasi kami akan membuat modul pelayan sederhana yang akan mendengar pada nombor port 3000. Dalam contoh kami, jika permintaan dibuat melalui penyemak imbas pada nombor port ini, maka aplikasi pelayan akan mengirim respons 'Hello' World 'kepada klien .
var express=require('express');var app=express();app.get('/',function(req,res){res.send('Hello World!');});var server=app.listen(3000,function() {});
Penjelasan Kod:
- Dalam baris pertama kod, kami menggunakan fungsi memerlukan untuk memasukkan "modul ekspres."
- Sebelum kita dapat mula menggunakan modul ekspres, kita perlu membuat objek daripadanya.
- Di sini kita membuat fungsi panggilan balik. Fungsi ini akan dipanggil setiap kali ada yang melihat ke akar aplikasi web kami yang http: // localhost: 3000 . Fungsi panggil balik akan digunakan untuk mengirim rentetan 'Hello World' ke laman web.
- Dalam fungsi panggilan balik, kami mengirim rentetan "Hello World" kembali kepada pelanggan. Parameter 'res' digunakan untuk mengirim kembali konten ke halaman web. Parameter 'res' ini adalah sesuatu yang disediakan oleh modul 'permintaan' untuk membolehkan seseorang menghantar kembali kandungan ke laman web.
- Kami kemudian menggunakan fungsi mendengarkan untuk membuat aplikasi pelayan kami mendengarkan permintaan klien di port no 3000. Anda boleh menentukan port yang ada di sini.
Sekiranya arahan itu berjaya dilaksanakan, Output berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
Dari output,
- Anda dapat melihat dengan jelas bahawa kami jika melayari URL localhost di port 3000, anda akan melihat rentetan 'Hello World' dipaparkan di halaman.
- Kerana dalam kod kami telah disebutkan secara khusus agar pelayan dapat mendengarkan di port no 3000, kami dapat melihat output ketika melayari URL ini.
Apa itu Laluan?
Routing menentukan cara aplikasi merespon permintaan klien ke titik akhir tertentu.
Sebagai contoh, pelanggan boleh membuat permintaan GET, POST, PUT atau DELETE http untuk pelbagai URL seperti yang ditunjukkan di bawah;
http://localhost:3000/Bookshttp://localhost:3000/Students
Dalam contoh di atas,
- Sekiranya permintaan GET dibuat untuk URL pertama, maka jawapannya adalah senarai buku.
- Sekiranya permintaan GET dibuat untuk URL kedua, maka jawapannya adalah senarai Pelajar.
- Oleh itu berdasarkan URL yang diakses, fungsi yang berbeza di pelayan web akan dipanggil, dan oleh itu, respons akan dihantar kepada klien. Ini adalah konsep routing.
Setiap laluan dapat memiliki satu atau lebih fungsi pengendali, yang dijalankan ketika rute tersebut sesuai.
Sintaks umum untuk laluan ditunjukkan di bawah
app.METHOD(PATH, HANDLER)
Di mana,
1) aplikasi adalah contoh modul ekspres
2) KAEDAH adalah kaedah permintaan HTTP (GET, POST, PUT atau DELETE)
3) PATH adalah jalan di pelayan.
4) HANDLER adalah fungsi yang dijalankan ketika laluan dipadankan.
Mari kita lihat contoh bagaimana kita dapat melaksanakan laluan di ekspres. Contoh kami akan membuat 3 laluan sebagai
- Laluan A / Node yang akan memaparkan rentetan "Tutorial pada Node" jika laluan ini diakses
- Laluan A / sudut yang akan memaparkan rentetan "Tutorial mengenai sudut" jika laluan ini diakses
- Laluan lalai / yang akan memaparkan rentetan "Selamat Datang ke Tutorial Guru99."
Kod asas kami akan tetap sama seperti contoh sebelumnya. Coretan di bawah adalah tambahan untuk menunjukkan bagaimana perutean dilaksanakan.
var express = require('express');var app = express();app.route('/Node').get(function(req,res){res.send("Tutorial on Node");});app.route('/Angular').get(function(req,res){res.send("Tutorial on Angular");});app.get('/',function(req,res){res.send('Welcome to Guru99 Tutorials');}));
Penjelasan Kod:
- Di sini kita menentukan jalan sekiranya URL http: // localhost: 3000 / Node dipilih dalam penyemak imbas. Untuk laluan, kami melampirkan fungsi panggilan balik yang akan dipanggil ketika kami melayari URL Node.
Fungsi ini mempunyai 2 parameter.
- Parameter utama yang akan kami gunakan adalah parameter 'res', yang dapat digunakan untuk mengirim kembali informasi kepada klien.
- Parameter 'req' mempunyai maklumat mengenai permintaan yang dibuat. Kadang-kadang parameter tambahan dapat dikirim sebagai bagian dari permintaan yang dibuat, dan oleh itu parameter 'req' dapat digunakan untuk menemukan parameter tambahan yang dikirim.
- Kami menggunakan fungsi kirim untuk mengirim rentetan "Tutorial pada Node" kembali ke klien jika rute Node dipilih.
- Di sini kita menentukan jalan jika URL http: // localhost: 3000 / Angular dipilih dalam penyemak imbas. Untuk laluan, kami melampirkan fungsi panggilan balik yang akan dipanggil ketika kami melihat ke URL Sudut.
- Kami menggunakan fungsi kirim untuk mengirim rentetan "Tutorial tentang Angular" kembali ke klien jika laluan Sudut dipilih.
- Ini adalah laluan lalai yang dipilih semasa seseorang melihat ke laluan aplikasi - http: // localhost: 3000 . Apabila laluan lalai dipilih, mesej "Selamat Datang di Tutorial Guru99" akan dihantar kepada pelanggan.
Sekiranya arahan itu berjaya dilaksanakan, Output berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
Dari output,
- Anda dapat melihat dengan jelas bahawa kami jika melayari URL localhost di port 3000, anda akan melihat rentetan 'Selamat Datang di Guru99 Tutorial' dipaparkan di halaman.
- Kerana dalam kod kami, kami telah menyebut bahawa URL lalai kami akan memaparkan mesej ini.
Dari output,
- Anda dapat melihat bahawa jika URL telah diubah menjadi / Node, rute Node masing-masing akan dipilih dan rentetan "Tutorial On Node" akan dipaparkan.
Dari output,
- Anda dapat melihat bahawa jika URL telah diubah menjadi / Angular, laluan Node masing-masing akan dipilih dan rentetan "Tutorial On Angular" akan dipaparkan.
Contoh pelayan Web menggunakan express.js
Dari contoh di atas, kami telah melihat bagaimana kami dapat menentukan output yang akan ditunjukkan berdasarkan penghalaan. Perutean seperti inilah yang digunakan dalam kebanyakan aplikasi web moden. Bahagian lain dari pelayan web adalah mengenai penggunaan templat di Node js.
Semasa membuat aplikasi Node on-the-fly cepat, cara yang mudah dan cepat adalah menggunakan templat untuk aplikasi tersebut. Terdapat banyak kerangka kerja yang tersedia di pasaran untuk membuat templat. Dalam kes kami, kami akan mengambil contoh kerangka giok untuk templat.
Jade dipasang melalui pengurus Pakej Node. Ini dapat dilakukan dengan melaksanakan baris berikut dalam baris perintah
npm pasang jade
Perintah di atas meminta pengurus pakej Node memuat turun modul jade yang diperlukan dan memasangnya dengan sewajarnya.
CATATAN: Dalam versi terbaru Node jade sudah tidak digunakan lagi. Sebaliknya, gunakan pug.
Mari gunakan kerangka giok kami yang baru dipasang dan buat beberapa templat asas.
Langkah 1) Langkah pertama adalah membuat templat jade. Buat fail bernama index.jade dan masukkan kod di bawah. Pastikan untuk membuat fail dalam folder "paparan"
- Di sini kita menentukan bahawa tajuk halaman akan diubah menjadi nilai apa pun yang dilalui ketika templat ini dipanggil.
- Kami juga menentukan bahawa teks dalam tag header akan diganti dengan apa sahaja yang dilewatkan dalam templat jade.
var express=require('express');var app=express();app.set('view engine','jade');app.get('/',function(req,res){res.render('index',{title:'Guru99',message:'Welcome'})});var server=app.listen(3000,function() {});
Penjelasan Kod:
- Perkara pertama yang perlu dinyatakan dalam aplikasi adalah "view engine" yang akan digunakan untuk membuat templat. Oleh kerana kami akan menggunakan jade untuk membuat templat kami, kami menetapkannya dengan sewajarnya.
- Fungsi render digunakan untuk membuat laman web. Dalam contoh kami, kami memberikan templat (index.jade) yang dibuat lebih awal.
- Kami meneruskan nilai "Guru99" dan "Selamat Datang" ke parameter "tajuk" dan "mesej" masing-masing. Nilai-nilai ini akan digantikan oleh parameter 'title', dan 'message' yang dinyatakan dalam templat index.jade.
Sekiranya arahan itu berjaya dilaksanakan, Output berikut akan ditunjukkan semasa anda menjalankan kod anda di penyemak imbas.
Pengeluaran:
Dari output,
- Kita dapat melihat bahawa tajuk halaman diset ke "Guru99" dan tajuk halaman diatur ke "Selamat Datang."
- Ini kerana templat jade yang dipanggil dalam aplikasi js nod kami.
Ringkasan
- Kerangka ekspres adalah kerangka yang paling umum digunakan untuk mengembangkan aplikasi Node js. Kerangka ekspres dibina di atas kerangka node.js dan membantu dalam pengembangan aplikasi berasaskan pelayan yang cepat.
- Laluan digunakan untuk mengalihkan pengguna ke berbagai bahagian aplikasi web berdasarkan permintaan yang dibuat. Respons untuk setiap laluan dapat diubah bergantung pada apa yang perlu ditunjukkan kepada pengguna.
- Templat boleh digunakan untuk menyuntik kandungan dengan cara yang cekap. Jade adalah salah satu mesin templat paling popular yang digunakan dalam aplikasi Node.js.