Apa sesi di Express dan bagaimana menggunakan di node.js – Codewithaden

Seperti yang kita semua tahu, HTTP adalah protokol tanpa kewarganegaraan. Kita perlu mengidentifikasi permintaan dan mengaitkan setiap permintaan ke pengguna jika pengguna sudah tiba sebelumnya. Jadi untuk bertahan data di beberapa halaman, kami menggunakan sesi.

Sesi ekspres

Ke membuat sebuah sidang dalam cepat kerangka kerja, gunakan Paket Ekspres-Sesi. Modul Express-Session menyediakan metode dan properti yang dapat mengatur dan mendapatkan nilai dari sesi.

Sesi ekspres digunakan dalam a Node JS Aplikasi Web untuk mempertahankan keadaan pengguna. Untuk menginstal sesi ekspres, ketik NPM Instal Express-Session –Save Perintah di terminal atau alat baris perintah Anda.

Skenario kasus yang paling banyak digunakan dari sesi ini adalah Sistem otentikasi . Ketika pengguna masuk ke sistem apa pun, mereka dapat melihat aktivitas mereka berdasarkan ID mereka. Jadi kita perlu menyimpan ID pengguna ke dalam sesi dan kemudian meminta ID itu untuk menampilkan informasi yang berbeda tentang pengguna itu.

Kami akan mengambil contoh validasi formulir. Kami akan menampilkan pesan validasi melalui sesi di ujung depan. Jadi mari kita mulai langkah demi langkah.

Langkah 1: Buat folder dan instal dependensi.

Buat folder proyek, masuk ke dalamnya, dan tekan perintah berikut.

npm init
 

Itu akan membuat file package.json mengajukan dan menulis kode berikut di dalamnya.

{
  "name": "sessionexpress",
  "version": "1.0.0",
  "description": "Express Sesssion Tutorial",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon server"
  },
  "dependencies": {
    "body-parser": "*",
    "cookie-parser": "*",
    "express": "*",
    "express-hbs": "*",
    "path": "*",
    "express-session": "*",
    "express-validator": "*"
  },
   "devDependencies":{
     "nodemon":"*"
  },
  "keywords": [
    "Express",
    "Node.js",
    "Session"
  ],
  "author": "Krunal Lathiya",
  "license": "ISC"
} 

Itu akan menginstal Kerangka kerja web ekspres, sesi ekspres, dan paket lainnya.

Langkah 2: Buat file server.js dan mulai server node.

Di direktori root, buat satu file yang dipanggil server.js.

// server.js

const express =  require('express');
const cookeParser =  require('cookie-parser');
const bodyParser =  require('body-parser') ;
const hbs = require('express-hbs');
const expressValidator =  require('express-validator') ;
const session =  require('express-session') ;

const app = express();
const PORT = 3000;

app.get('/', function(req, res){
   res.send('hello');
});

app.listen(PORT, function(){
  console.log('Server is running on',PORT);
}); 

Pergi ke http: // localhost: 3000. Anda dapat melihat di sana Server node.js sedang berjalan Pelabuhan : 3000.

Langkah selanjutnya adalah mengatur mesin tampilan dan menengah untuk aplikasi kami. Tambahkan kode berikut ke server.js mengajukan.

// server.js

app.use(express.static('public'));
app.engine('hbs', hbs.express4({
   partialsDir: __dirname + '/views/partials'
 }));
app.set('view engine', 'hbs');
app.set('views', __dirname + '/views');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(cookeParser());

app.use(session({ secret: 'krunal', resave: false, saveUninitialized: true, }));

app.use(expressValidator());
 

Kami belum membuat pandangan Folder belum, tapi kita akan sebentar lagi. Kami telah menggunakan Ekspresikan setang sebagai mesin templating. Tapi, tentu saja, Anda bisa menggunakan EJS juga. Di sini kami telah menggunakan Parser tubuh middleware dan juga digunakan cookie-parser.

Kemudian gunakan sesi Express, yang membutuhkan objek sebagai argumen untuk menginisialisasi itu. Kemudian gunakan paket flash untuk menampilkan pesan kesalahan atau keberhasilan.

Langkah 3: Membuat direktori yang diperlukan.

Di folder root, buat satu direktori dipanggil pandangan, Dan dalam bentuk itu, satu file dipanggil menambahkan .hbs. Juga, buat satu direktori di dalam pandangan Folder menelepon parsial. Lalu kita dapat mendefinisikan header.hbs dan footer.hbs mengajukan.

Juga, buat satu folder menelepon publik dan buat satu folder bernama CSS dan letakkan bootstrap.min.css mengajukan.



  
    Add Info
    
  
  
    
Add User

Tentukan rute untuk aplikasi kami.

Buat satu folder di dalamnya akar ditelepon rute dan membuat satu file dipanggil user.route.js mengajukan. Kita perlu mendefinisikan di sini, dapatkan dan memposting rute untuk aplikasi kita.

// user.route.js

const express = require('express');
const router =  express.Router();

router.get('/', function(req, res){
   res.render('add', { errors: req.session.errors });
   req.session.errors = null;
});

module.exports =  router; 

Sekarang, kita perlu mengimpor rute ini ke server.js mengajukan.

// server.js

const user = require('./routes/user.route');

app.use('/user',user); 

Pergi ke http://localhost:3000/user . Anda akan melihat formulir seperti ini.

express

Langkah 4: Validasi sisi server.

Dalam rute >> user.route.js file, tempel kode berikut. Kami baru saja mendefinisikan pos rute.

// user.route.js

router.post('/add', function(req, res) {
   let name = req.body.name;
   let email = req.body.email;
 
   req.checkBody('name', 'Name is required').notEmpty();
   req.checkBody('email', 'Email is required').notEmpty();
   req.checkBody('email', 'Please enter a valid email').isEmail();
 
   const errors = req.validationErrors();
   if(errors){
      req.session.errors = errors;
      res.redirect('/user');
   }
   else{
      req.session.success = true;
      res.redirect('/');
   }
   
}); 

Jadi, jika ada kesalahan, itu akan menyimpannya di sesi dan mengarahkan kami ke tampilan Tambah dengan kesalahan.

Sekarang, tulis add.hbs file untuk menampilkan kesalahan.


 {{# if errors }}
     {{# each errors }}
          

{{ this.msg }}

{{/each}} {{/if}}

Sekarang, pergi ke http://localhost:3000/user . Jika Anda mengirimkan formulir tanpa nilai apa pun, itu akan menyimpan nilai -nilai di sesi dan memberi kami kesalahan.

Express

Jadi ini adalah bagaimana kita bisa menggunakan sesi. Saya sudah meletakkan kode di GitHub. Itu saja Sesi ekspres tutorial.

Garpu saya di github

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *