Artikel ini memperkenalkan cara membuat server kueri sederhana menggunakan express dan membagikannya kepada semua orang, detailnya adalah sebagai berikut:
Tumpukan teknologi yang digunakan antara lain express dan mysql.
Struktur proyek:
layanan--node_modules--app.js--query.js
app.js mendukung layanan panggilan dan menggunakan body-parser untuk memproses permintaan.
query.js mengimplementasikan fungsi menautkan ke database dan menanyakan database.
Kode app.js adalah sebagai berikut:
var express = memerlukan('express');var query = memerlukan('./query')var bodyParser = memerlukan('body-parser');var cookieParser = memerlukan('cookie-parser');var app = express( );app.use(bodyParser.urlencoded({ diperpanjang: false }))//Objek yang dikembalikan adalah pasangan nilai kunci. Jika diperpanjang salah, nilai dalam pasangan nilai kunci berbentuk 'String' atau 'Array' tipe data. app.use(bodyParser.json())//Dukungan lintas domain app.all('*', function(req, res, next) { res.header(Access-Control-Allow-Origin, *); res. header('Metode-Kontrol-Akses-Izinkan', 'PUT, DAPATKAN, POST, HAPUS, OPSI'); res.header(Access-Control-Allow-Headers, X-Requested-With); res.header('Access-Control-Allow-Headers', 'Content-Type' next();});//Log di app.post('/login',(req,res)=>{ var opts = req.body; query( SELECT *FROM `v_users` WHERE userAcount = ?,opts.userName).then((result)=>{ var respon = hasil[0]; if(opts.password !== respon.u_password){ return res.send({ errorCode:'404', errorMsg:'Sandi login salah' }) } //Mensimulasikan dan menghasilkan loginToken var loginToken = respon.userAcount + Math.random()*Math.pow(10,16) res.send({ loginToken:loginToken }) })})var server = app.listen(3000,()=>{ console.log('success') })
Kode query.js adalah sebagai berikut:
(fungsi() { var mysql = memerlukan('mysql'); // var sesi = memerlukan('sesi-cookie'); var query = (sql,kunci) => { var koneksi = mysql.createConnection({ tuan rumah: 'localhost', pengguna: 'root', kata sandi: 'root123', database: 'm_users' }); Janji((menyelesaikan,menolak)=>{ connection.query(sql,[kunci], fungsi(kesalahan, hasil, bidang) { if(kesalahan){ menolak(kesalahan) }else{ menyelesaikan(hasil); } }); connection.end(); }); mengembalikan janji; } module.exports = query;})()
Ringkasan latihan:
1. Penggunaan ekspres tingkat awal, serta penggunaan body-parser dan plug-in mysql.
2. Coba gunakan Inspektur untuk men-debug program node dan mengimplementasikan debugger. Secara pribadi, saya lebih terbiasa menggunakan gulp untuk debugging.
3. Ketika klien menggunakan post untuk memanggil antarmuka, ia harus membedakan perbedaan Tipe Konten:
Tipe Konten:application/json;charset=UTF-8 parameter ditempatkan di requestPayload
Tipe Konten: Tidak disetel atau parameter application/x-www-form-urlencoded ditempatkan di Data Formulir
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.