Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mendaftar, log masuk dan melompat ke halaman dalam nodejs

Bagaimana untuk mendaftar, log masuk dan melompat ke halaman dalam nodejs

PHPz
PHPzasal
2023-04-17 15:01:261121semak imbas

Node.js melaksanakan pendaftaran, log masuk dan lompat halaman

Node.js ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8. Ia boleh dijalankan pada bahagian pelayan, dan boleh digunakan untuk melaksanakan beberapa fungsi sisi pelayan biasa dengan mudah, seperti mencipta pelayan HTTP, melaksanakan komunikasi masa nyata Socket.IO, dsb. Dalam artikel ini, kami akan menggunakan Node.js sebagai asas, menggunakan rangka kerja Express dan pangkalan data MongoDB untuk melaksanakan fungsi pendaftaran, log masuk dan lompat halaman yang mudah.

  1. Pasang Node.js

Mula-mula, kita perlu memasang Node.js secara setempat. Anda boleh memuat turun fail Node.js yang sepadan dengan sistem pengendalian semasa melalui tapak web rasmi (https://nodejs.org) dan kemudian memasangnya.

  1. Buat projek

Seterusnya, kita perlu membuat projek secara tempatan. Anda boleh memasukkan arahan berikut pada baris arahan:

mkdir node-login
cd node-login

  1. Mulakan projek

Jalankan arahan berikut untuk Memulakan projek:

npm init

Masukkan nama projek, nombor versi, penerangan dan maklumat lain mengikut gesaan, dan kemudian buat fail package.json.

  1. Pasang dependencies

Seterusnya, kita perlu memasang dependencies seperti Express, Mongoose dan Body-parser. Anda boleh memasukkan arahan berikut pada baris arahan:

npm install express mongoose body-parser --save

--parameter save bermaksud menyimpan kebergantungan ini pada fail package.json.

  1. Mengkonfigurasi pangkalan data

Dalam contoh ini, kami menggunakan MongoDB sebagai pangkalan data. Anda boleh memuat turun MongoDB dari laman web rasmi MongoDB (https://www.mongodb.com/) dan memasangnya. Kemudian buat pangkalan data dan pengguna untuk disambungkan.

  1. Buat Pelayan

Seterusnya, kami mahu mencipta fail pelayan. Anda boleh mencipta fail bernama server.js dalam direktori akar projek. Dalam fail ini kita perlu memuatkan kebergantungan, menyambung ke pangkalan data dan mencipta pelayan HTTP untuk mendengar permintaan.

const express = memerlukan('express');
const bodyParser = memerlukan('body-parser');
const mongoose = memerlukan('mongoose');

const app = express();

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

mongoose .connect('mongodb://your-mongodb-url', { useNewUrlParser: true, useUnifiedTopology: true }, (err) => {
if (err) {

console.log(err);

} lain {

console.log('Connected to the database');

}
});

app.get('/', (req, res) => {
res.send('Hello Dunia!');
});

port const = process.env.PORT || 3000;

app.listen(port, () => {
console.log(Server running on port ${port});
});

Kami menggunakan mongoose untuk menyambung ke pangkalan data MongoDB dan log keluaran tentang ralat. Seterusnya, kami mencipta laluan mudah untuk menguji sama ada pelayan berfungsi dengan betul.

  1. Buat model data pengguna

Seterusnya, kita perlu mencipta model data pengguna. Buat fail bernama user.js dalam direktori akar projek. Dalam fail ini, kami mentakrifkan model data yang dipanggil Pengguna, yang merangkumi medan seperti nama pengguna, e-mel dan kata laluan.

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const UserSchema = new Schema({
nama pengguna: {

type: String,
required: true,
unique: true

},
e-mel: {

type: String,
required: true,
unique: true

},
kata laluan: {

type: String,
required: true

}
});

const User = mongoose.model('User', UserSchema);

module.exports = User;

  1. Buat pendaftaran dan laluan log masuk

Seterusnya, kita perlu membuat laluan pendaftaran dan log masuk. Tambahkan laluan berikut dalam server.js:

const User = require('./user');

// Register
app.post('/register', (req , res) => {
pengguna const = Pengguna baharu({

username: req.body.username,
email: req.body.email,
password: req.body.password

});
pengguna.save((err) => {

if (err) {
  console.log(err);
  res.status(500).send('Error registering new user please try again.');
} else {
  res.redirect('/login');
}

});
});

// Log masuk
app.post('/login', (req, res) => {
const email = req.body .email;
const password = req.body.password;
User.findOne({ e-mel: e-mel }, (err, pengguna) => {

if (err) {
  console.log(err);
  res.status(500).send('Error on the server.');
} else {
  if (!user) {
    res.status(404).send('User not found.');
  } else {
    user.comparePassword(password, (err, isMatch) => {
      if (isMatch && !err) {
        res.redirect('/dashboard');
      } else {
        res.status(401).send('Password is incorrect.');
      }
    });
  }
}

});
});

Laluan ini mengendalikan permintaan dan mencipta serta mengesahkan pengguna apabila mereka mendaftar dan log masuk, kemudian lompat ke halaman yang sesuai.

  1. Membuat paparan dan templat

Akhir sekali, kita perlu membuat paparan dan templat. Anda boleh mencipta folder bernama pandangan dalam direktori akar projek dan mencipta fail berikut di bawah folder:

  • register.ejs: Templat pendaftaran
  • login.ejs: Templat Log Masuk
  • dashboard.ejs: Dashboard Template

Dalam templat ini, kami menggunakan HTML, CSS dan JavaScript untuk mencipta halaman yang cantik dan mudah digunakan.

  1. Jalankan projek

Sekarang, kita boleh memulakan projek menggunakan arahan berikut:

node server.js

dalam pelayar Lawati http://localhost:3000 untuk melihat halaman web. Masukkan maklumat pendaftaran dan log masuk untuk melompat ke halaman papan pemuka.

Ringkasan

Dalam artikel ini, kami menggunakan Node.js, rangka kerja Express dan pangkalan data MongoDB untuk mencipta aplikasi mudah yang mendaftar, log masuk dan melompat ke halaman. Menggunakan Node.js dan teknologi yang berkaitan, anda boleh membuat aplikasi dengan mudah dan cepat yang melaksanakan fungsi bahagian pelayan tertentu, meningkatkan kecekapan pembangunan dan penggunaan.

Atas ialah kandungan terperinci Bagaimana untuk mendaftar, log masuk dan melompat ke halaman dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn