nodejs melaksanakan mvc
Node.js ialah sumber terbuka, persekitaran masa jalan JavaScript merentas platform. Ia membolehkan kami menulis aplikasi sisi pelayan menggunakan JavaScript. Sangat mudah untuk membangunkan aplikasi sisi pelayan berprestasi tinggi menggunakan Node.js. Dalam artikel ini, kami akan membincangkan cara melaksanakan seni bina MVC menggunakan Node.js.
- Apakah itu MVC?
MVC ialah singkatan kepada Model-View-Controller. Ia adalah corak reka bentuk yang menyusun kod dengan cara yang memisahkan aplikasi dan menjadikan aplikasi mudah untuk diselenggara dan dilanjutkan.
- Model: Mengandungi semua data aplikasi dan logik perniagaan yang berkaitan.
- Paparan: Antara muka pengguna, yang mendapatkan data daripada Model dan membentangkannya kepada pengguna.
- Pengawal: mengendalikan interaksi antara antara muka pengguna dan logik perniagaan dan mengembalikan hasil kepada antara muka pengguna. Ia boleh bertindak sebagai perisian tengah seperti penghalaan, perisian tengah dan pengawal.
MVC menjadikan kod sangat modular, menjadikannya mudah untuk memfaktor semula dan menyelenggara bahagian aplikasi yang berbeza. Dalam Node.js, kita boleh menggunakan pelbagai rangka kerja untuk membina aplikasi MVC. Dalam artikel ini, kita akan membincangkan cara melaksanakan seni bina MVC menggunakan rangka kerja Express.
- Bagaimana untuk melaksanakan MVC menggunakan rangka kerja Express?
Express ialah rangka kerja popular untuk Node.js yang menyediakan alatan dan perisian tengah untuk membina aplikasi web dengan pantas. Kami boleh melaksanakan MVC menggunakan rangka kerja Express.
Pertama, kita perlu memasang rangka kerja Express. Gunakan arahan berikut dalam baris arahan:
npm install express --save
Seterusnya, kita perlu memasang enjin templat. Dalam artikel ini, kami akan menggunakan EJS sebagai enjin templat. Gunakan arahan berikut dalam baris arahan:
npm install ejs --save
Berikut ialah struktur direktori asas:
- app/ - controllers/ - models/ - views/ - public/ - routes/ - app.js
Kami akan membahagikan aplikasi kepada tiga komponen: pengawal, model dan paparan.
- Pengawal
Dalam folder Pengawal kami akan mentakrifkan logik pengawal kami. Sebagai contoh, kita boleh mempunyai fail yang dipanggil userController.js yang akan mengendalikan permintaan berkaitan pengguna.
Dalam fail userController.js kami boleh mengeksport objek dan kaedah yang berbeza untuk menggunakannya dalam aplikasi. Berikut ialah contoh:
const User = require('../models/user'); const UserController = {}; UserController.index = (req, res) => { // 获取所有用户 User.getAll((err, users) => { if (err) { console.log(err); return; } // 渲染视图 res.render('users/index', { users }); }); }; UserController.show = (req, res) => { // 获取单个用户 User.getById(req.params.id, (err, user) => { if (err) { console.log(err); return; } // 渲染视图 res.render('users/show', { user }); }); }; module.exports = UserController;
Dalam kod di atas, kami mentakrifkan objek yang dipanggil UserController dan mengeksport dua kaedah: indeks dan tunjukkan. Kaedah ini akan mendapatkan data pengguna dan menghantarnya kepada enjin templat EJS untuk dipamerkan. Kami boleh menggunakan kaedah ini dalam laluan aplikasi kami untuk mengendalikan permintaan pengguna.
- Model
Dalam folder model, kami akan mentakrifkan logik lapisan Model. Sebagai contoh, kita boleh mempunyai fail yang dipanggil user.js yang akan menentukan data berkaitan pengguna dan logik perniagaan.
Dalam fail user.js, kita boleh menggunakan rangka kerja ORM (Pemetaan Perhubungan Objek) Node.js untuk menentukan model. Berikut ialah contoh:
const sql = require('../config/db').pool; const User = {}; User.getAll = (callback) => { sql.query('SELECT * FROM users', (err, users) => { if (err) { callback(err, null); return; } callback(null, users); }); }; User.getById = (id, callback) => { sql.query('SELECT * FROM users WHERE id = ?', [id], (err, user) => { if (err) { callback(err, null); return; } callback(null, user[0]); }); }; module.exports = User;
Dalam kod di atas, kami mengeksport objek bernama Pengguna dan mentakrifkan dua kaedah: getAll dan getById. Kaedah ini akan melaksanakan pertanyaan SQL dan menghantar keputusan kembali kepada pengawal.
- Paparan
Dalam folder pandangan kami akan mentakrifkan fail paparan EJS kami. Sebagai contoh, kita boleh mempunyai fail yang dipanggil index.ejs yang memaparkan data untuk semua pengguna.
Berikut ialah contoh:
<h1>All Users</h1> <% if (users && users.length > 0) { %> <ul> <% users.forEach(function(user) { %> <li><a href="/users/<%= user.id %>"><%= user.name %></a></li> <% }); %> </ul> <% } else { %> <p>No users found.</p> <% } %>
Dalam kod di atas, kami akan menggunakan sintaks EJS untuk memaparkan semua pengguna dan mencipta senarai. Kami menghantar data pengguna dalam pengawal dan menjadikannya dalam paparan.
- Laluan
Dalam folder laluan kami akan menentukan laluan untuk aplikasi kami. Dalam fail app.js kami akan mengkonfigurasi perisian tengah kami. Berikut ialah contoh:
const express = require('express'); const app = express(); const router = express.Router(); const UserController = require('./app/controllers/userController'); // 路由 router.get('/', UserController.index); router.get('/users/:id', UserController.show); // 中间件 app.use(express.static('public')); app.use(express.urlencoded({ extended: true })); app.set('view engine', 'ejs'); app.set('views', __dirname + '/app/views'); app.use(router); // 启动服务器 const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server listening on port ${PORT}.`); });
Dalam kod di atas, kami telah menentukan dua laluan: satu untuk memberikan data untuk semua pengguna dan satu lagi untuk memaparkan data untuk seorang pengguna. Kami juga mengkonfigurasi perisian tengah yang membolehkan kami menggunakan enjin templat EJS dan menggunakan fail statik. Akhirnya, kami memulakan pelayan.
- Ringkasan
Dalam artikel ini, kami melaksanakan seni bina MVC menggunakan rangka kerja Express. Kami membahagikan aplikasi kepada tiga komponen: pengawal, model dan pandangan. Kami juga menggunakan rangka kerja ORM Node.js untuk mentakrifkan model dan enjin templat EJS untuk memaparkan paparan. Akhir sekali, kami menggunakan penghalaan untuk mengendalikan permintaan pengguna dan menghantar data kembali kepada pengawal dan pandangan.
Seni bina MVC Node.js membantu sangat memudahkan penyelenggaraan dan penskalaan aplikasi. Selain itu, rangka kerja Express menyediakan banyak alatan berguna dan perisian tengah yang boleh membantu kami membina aplikasi web dengan lebih pantas.
Atas ialah kandungan terperinci nodejs melaksanakan mvc. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

Sistem Reaktiviti Vue 2 bergelut dengan tetapan indeks array langsung, pengubahsuaian panjang, dan penambahan/penghapusan harta benda objek. Pemaju boleh menggunakan kaedah mutasi Vue dan vue.set () untuk memastikan kereaktifan.

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

TypeScript meningkatkan pembangunan React dengan menyediakan keselamatan jenis, meningkatkan kualiti kod, dan menawarkan sokongan IDE yang lebih baik, dengan itu mengurangkan kesilapan dan meningkatkan kebolehkerjaan.

Artikel ini menerangkan menggunakan UserEducer untuk Pengurusan Negeri Kompleks dalam React, memperincikan manfaatnya ke atas UseState dan bagaimana untuk mengintegrasikannya dengan useeffect untuk kesan sampingan.

Komponen fungsional dalam vue.js adalah cangkuk kitaran hidup, ringan, dan kekurangan kitaran, sesuai untuk memberikan data tulen dan mengoptimumkan prestasi. Mereka berbeza daripada komponen yang berkesudahan dengan tidak mempunyai keadaan atau kereaktifan, menggunakan fungsi render secara langsung, a

Artikel ini membincangkan strategi dan alat untuk memastikan komponen React boleh diakses, memberi tumpuan kepada HTML semantik, atribut ARIA, navigasi papan kekunci, dan kontras warna. Ia mengesyorkan menggunakan alat seperti ESLINT-PLUGIN-JSX-A11Y dan AXE-CORE untuk TESTI
