Rumah > Artikel > hujung hadapan web > Bagaimana untuk melompat ke html dalam nodejs
Node.js ialah persekitaran JavaScript bahagian pelayan boleh atur cara yang membolehkan kami menulis aplikasi web berprestasi tinggi menggunakan JavaScript. Dalam Node.js, kami boleh membuat dan mengurus pelayan HTTP, mengendalikan permintaan dan membalas respons dengan mudah. Selain itu, Node.js boleh berkomunikasi dengan skrip lain (seperti HTML, CSS dan JavaScript) yang dijalankan pada penyemak imbas klien untuk melaksanakan lebih banyak fungsi dalam aplikasi web.
Dalam artikel ini, kita akan membincangkan cara untuk melompat ke halaman HTML menggunakan Node.js. Mula-mula, kita akan melihat modul HTTP Node.js, dan kemudian merangkumi cara menghantar halaman HTML daripada pelayan Node.js kepada penyemak imbas klien. Akhir sekali, kami akan meneroka cara menggunakan borang dan meminta ubah hala untuk melaksanakan fungsi ubah hala yang lebih maju.
Modul HTTP Node.js
Modul HTTP ialah salah satu modul paling asas dan teras dalam Node.js. Dalam Node.js, kami boleh menggunakan modul HTTP untuk mencipta dan mengurus pelayan HTTP, mengendalikan permintaan dan respons serta melaksanakan fungsi berkaitan HTTP yang lain.
Dalam Node.js, kami boleh menggunakan kod berikut untuk mencipta pelayan HTTP mudah:
const http = require('http'); http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello world!\n'); }).listen(8080); console.log('Server running at http://localhost:8080/');
Dalam contoh ini, kami menggunakan fungsi createServer() untuk mencipta pelayan HTTP , pelayan mendengar permintaan masuk pada port tempatan 8080. Apabila pelayan menerima permintaan, ia menghantar respons yang mengandungi "Hello world!" dan memaparkan "Pelayan sedang berjalan di http://localhost:8080/" pada konsol.
Menghantar halaman HTML
Sekarang kita telah melihat cara mencipta pelayan HTTP yang mudah. Walau bagaimanapun, dalam aplikasi web sebenar, kami biasanya perlu menghantar halaman HTML untuk disemak imbas oleh pengguna. Dalam Node.js, kami boleh menggunakan kod berikut untuk menghantar halaman HTML:
const http = require('http'); const fs = require('fs'); http.createServer(function(req, res) { fs.readFile('index.html', function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }); }).listen(8080); console.log('Server running at http://localhost:8080/');
Dalam contoh ini, kami menggunakan fungsi readFile() modul sistem fail (fs) Node.js untuk membaca nama Fail HTML ialah index.html. Kemudian, kami menggunakan fungsi writeHead() modul HTTP Node.js untuk menetapkan pengepala respons untuk memberitahu pelayar klien bahawa kandungan yang dikembalikan adalah dalam format HTML. Akhir sekali, kami menulis halaman HTML ke dalam aliran respons menggunakan fungsi res.write() dan menamatkan aliran respons menggunakan fungsi res.end().
Minta Ubah Hala
Dalam aplikasi web, kami biasanya perlu mengubah hala pengguna ke halaman atau URL lain. Dalam Node.js kita boleh mencapai ini menggunakan pengalihan permintaan. Secara khusus, kita boleh menggunakan kaedah ubah hala() objek respons modul HTTP untuk mengubah hala permintaan ke halaman atau URL lain.
Berikut ialah contoh ubah hala mudah:
const http = require('http'); const fs = require('fs'); http.createServer(function(req, res) { if (req.url === '/redirect') { res.writeHead(301, {'Location': 'http://www.google.com'}); res.end(); } else { fs.readFile('index.html', function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }); } }).listen(8080); console.log('Server running at http://localhost:8080/');
Dalam contoh ini, kami menggunakan pernyataan if untuk mengesan sama ada URL yang diminta ialah "/redirect". Jika ya, kami menetapkan kod status respons kepada 301 (ubah hala kekal) dan pengepala Lokasi ke URL baharu (http://www.google.com). Ini akan memberitahu pelayar klien untuk mengubah hala permintaan ke URL baharu. Jika tidak, kami membaca fail index.html dan menulisnya ke aliran respons.
Penyerahan borang
Akhir sekali, kami akan meneroka cara menggunakan penyerahan borang untuk mencapai fungsi lompatan yang lebih maju. Dalam aplikasi web, kami boleh menggunakan penyerahan borang untuk menghantar input pengguna (seperti nama pengguna, kata laluan, kata kunci carian, dll.) ke pelayan dan mengakses halaman lain atau melakukan operasi lain berdasarkan respons pelayan.
Dalam Node.js, kami boleh menggunakan objek permintaan modul HTTP untuk mengendalikan penyerahan borang. Khususnya, kami boleh menggunakan kaedah on() request untuk mengendalikan aliran data dan menggunakan modul rentetan pertanyaan untuk menghuraikan data borang permintaan POST.
Berikut ialah contoh penyerahan borang mudah:
const http = require('http'); const url = require('url'); const querystring = require('querystring'); http.createServer(function(req, res) { if (req.method === 'GET') { fs.readFile('form.html', function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }); } else if (req.method === 'POST') { let body = ''; req.on('data', function(chunk) { body += chunk.toString(); }); req.on('end', function() { const data = querystring.parse(body); res.writeHead(302, {'Location': '/hello?name=' + data.name}); res.end(); }); } else if (req.url.startsWith('/hello')) { const name = url.parse(req.url, true).query.name || 'world'; res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<html><body><h1>Hello, ' + name + '!</h1></body></html>'); res.end(); } }).listen(8080); console.log('Server running at http://localhost:8080/');
Dalam contoh ini, kami menggunakan kaedah GET untuk menghantar halaman HTML yang mengandungi borang. Kami kemudian menggunakan kaedah POST untuk mengendalikan penyerahan borang. Dalam permintaan POST, kami menggunakan kaedah on() objek permintaan untuk membaca aliran data dan menghuraikan data borang ke dalam objek JavaScript melalui modul rentetan pertanyaan. Akhir sekali, kami mengubah hala permintaan ke URL baharu (/hello?name=) menggunakan kaedah ubah hala() objek respons.
Dalam halaman /hello, kami menggunakan kaedah parse() modul url untuk menghuraikan parameter pertanyaan URL dan mencetak mesej alu-aluan ringkas.
Ringkasan
Dalam artikel ini, kami membincangkan cara untuk melompat ke halaman HTML menggunakan Node.js. Kami memperkenalkan modul HTTP Node.js dan menunjukkan cara menggunakan modul HTTP untuk menghantar halaman HTML. Kami juga merangkumi ciri lanjutan seperti pengalihan permintaan dan penyerahan borang, dan cara menggunakan ciri ini untuk mencapai fungsi lompatan yang lebih berkuasa. Sama ada anda seorang pemula atau pembangun yang berpengalaman, menguasai petua ini akan membantu anda membangunkan aplikasi web yang cekap dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk melompat ke html dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!