บทความนี้จะแนะนำวิธีการสร้างเซิร์ฟเวอร์แบบสอบถามอย่างง่ายโดยใช้ Express และแบ่งปันกับทุกคน โดยมีรายละเอียดดังนี้
สแต็คเทคโนโลยีที่ใช้ ได้แก่ express และ mysql
โครงสร้างโครงการ:
บริการ--node_modules--app.js--query.js
app.js รองรับบริการการโทรและใช้ body-parser เพื่อประมวลผลคำขอ
query.js ใช้ฟังก์ชันการลิงก์ไปยังฐานข้อมูลและการสืบค้นฐานข้อมูล
รหัส app.js เป็นดังนี้:
var express = ต้องการ('express');var query = need('./query')var bodyParser = need('body-parser');var cookieParser = need('cookie-parser');var app = express( );app.use(bodyParser.urlencoded({ ขยาย: false }))//วัตถุที่ส่งคืนเป็นคู่คีย์-ค่า เมื่อขยายเป็นเท็จ ค่าในคู่คีย์-ค่าจะอยู่ในรูปแบบ 'สตริง' หรือ 'อาร์เรย์' เมื่อเป็นจริงก็สามารถเป็นค่าใดก็ได้ ชนิดข้อมูล app.use (bodyParser.json ()) // การสนับสนุนข้ามโดเมน app.all ('*', ฟังก์ชั่น (req, res, ถัดไป) { res.header (Access-Control-Allow-Origin, *); res. ส่วนหัว ('การควบคุมการเข้าถึง-อนุญาต-วิธีการ', 'ใส่, GET, โพสต์, ลบ, ตัวเลือก'); res.header(Access-Control-Allow-Headers, X-Request-With); res.header('Access-Control-Allow-Headers', 'Content-Type'); //เข้าสู่ระบบ app.post('/login',(req,res)=>{ var opts = req.body; query( SELECT *FROM `v_users` WHERE userAcount = ?,opts.userName).then((result)=>{ var response = result[0]; if(opts.password !== response.u_password){ return res.send({ errorCode:'404', errorMsg:'รหัสผ่านเข้าสู่ระบบไม่ถูกต้อง' }) } //จำลองและสร้าง LoginToken var loginToken = response.userAcount + Math.random()*Math.pow(10,16) res.send({ loginToken:loginToken }) })})var server = app.listen(3000,()=>{ console.log('success') })
รหัส query.js เป็นดังนี้:
(function() { var mysql = need('mysql'); // var session = need('cookie-session'); var query = (sql,key) => { การเชื่อมต่อ var = mysql.createConnection({ โฮสต์: 'localhost' ผู้ใช้: 'root' รหัสผ่าน: 'root123' ฐานข้อมูล: 'm_users' }); Connection.connect() var สัญญา = ใหม่ Promise((resolve,reject)=>{ Connection.query(sql,[key], function(error, results, fields) { if(error){ reject(error) }else{ solve(results); } }); การเชื่อมต่อ.end(); } module.exports = query;})()
สรุปการปฏิบัติ:
1. การใช้งาน Express ระดับเริ่มต้น รวมถึงการใช้งาน body-parser และปลั๊กอิน mysql
2. ลองใช้ Inspector เพื่อดีบักโปรแกรมโหนดและใช้ดีบักเกอร์ โดยส่วนตัวแล้วฉันคุ้นเคยกับการใช้อึกเพื่อดีบั๊กมากกว่า
3. เมื่อไคลเอนต์ใช้การโพสต์เพื่อเรียกอินเทอร์เฟซ มันจะต้องแยกแยะความแตกต่างของประเภทเนื้อหา:
Content-Type:application/json;charset=UTF-8 พารามิเตอร์ถูกวางไว้ใน requestPayload
ประเภทเนื้อหา: ไม่ได้ตั้งค่าหรือมีการวางพารามิเตอร์ application/x-www-form-urlencoded ในข้อมูลแบบฟอร์ม
ข้างต้นคือเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการศึกษาของทุกคน ฉันหวังว่าทุกคนจะสนับสนุน VeVb Wulin Network