تشرح هذه المقالة كيفية إنشاء خادم استعلام بسيط باستخدام Express ومشاركته مع الجميع، والتفاصيل هي كما يلي:
تتضمن مجموعات التكنولوجيا المستخدمة Express وMySQL.
هيكل المشروع:
الخدمة--node_modules--app.js--query.js
يدعم app.js خدمات الاتصال واستخدام محلل الجسم لمعالجة الطلبات.
ينفذ query.js وظائف الارتباط بقاعدة البيانات والاستعلام عن قاعدة البيانات.
رمز app.js هو كما يلي:
var Express = require('express');var query = require('./query')var bodyParser = require('body-parser');var cookieParser = require('cookie-parser');var app = Express( );app.use(bodyParser.urlencoded({ ممتد: خطأ }))// الكائن الذي تم إرجاعه هو زوج من القيمة الرئيسية. عندما يكون التمديد خطأ، تكون القيمة في زوج القيمة الرئيسية في شكل "سلسلة" أو "مصفوفة". نوع البيانات. app.use(bodyParser.json())// دعم عبر النطاقات app.all('*', function(req, res, next) { res.header(Access-Control-Allow-Origin, *); res. رأس ("أساليب التحكم في الوصول"، "PUT، GET، POST، DELETE، OPTIONS")؛ res.header(Access-Control-Allow-Headers, X-Requested-With) res.header('Access-Control-Allow-Headers', 'Content-Type'); in app.post('/login',(req,res)=>{ var opts = req.body; query( SELECT *FROM `v_users` أين userAcount = ?,opts.userName).then((result)=>{ var Response = result[0]; if(opts.password !== Response.u_password){ return res.send({ errorCode:'404', errorMsg:'كلمة مرور تسجيل الدخول غير صحيحة' }) } // محاكاة وإنشاء رمز تسجيل الدخول varlogToken = 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 = require('mysql'); // var session = require('cookie-session'); var query = (sql,key) => { var Connection = mysql.createConnection({ host: 'localhost'، المستخدم: 'root'، كلمة المرور: 'root123'، قاعدة البيانات: 'm_users' }); وعد((حل,رفض)=>{ اتصال.query(sql,[key], وظيفة(خطأ, النتائج, الحقول) { إذا(خطأ){ رفض(خطأ) }else{ حل(نتائج); } }); Connection.end();
ملخص الممارسة:
1. استخدام Express على مستوى المبتدئين، بالإضافة إلى استخدام المكونات الإضافية لمحلل النصوص وmysql.
2. حاول استخدام Inspector لتصحيح أخطاء برنامج العقدة وتنفيذ مصحح الأخطاء، بالمناسبة، أنا شخصيًا معتاد على استخدام gulp لتصحيح الأخطاء.
3. عندما يستخدم العميل المنشور للاتصال بالواجهة، يجب عليه التمييز بين نوع المحتوى:
نوع المحتوى:application/json;charset=UTF-8 يتم وضع المعلمة في requestPayload
نوع المحتوى: لم يتم تعيينه أو تم وضع معلمة application/x-www-form-urlencoded في بيانات النموذج
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لدراسة الجميع وآمل أيضًا أن يدعم الجميع شبكة VeVb Wulin.