Dieses Mal zeige ich Ihnen, wie Sie einen Abfrageserver mit Express erstellen. Was sind die Vorsichtsmaßnahmen für den Aufbau eines Abfrageservers mit Express?
In diesem Artikel wird die Methode zum Erstellen eines einfachen Abfrageservers mit Express vorgestellt und mit allen geteilt. Die Details lauten wie folgt:
Zu den verwendeten Technologie-Stacks gehören Express und MySQL.
Projektstruktur:
service --node_modules --app.js --query.js
app.js unterstützt das Aufrufen von Diensten und die Verwendung von Body-Parsern zum Verarbeiten von Anfragen
query.js implementiert die Funktionen der Verknüpfung mit der Datenbank und der Abfrage der Datenbank.
Der app.js-Code lautet wie folgt:
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({ extended: false }))//返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。 app.use(bodyParser.json()) //跨域支持 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header('Access-Control-Allow-Headers', 'Content-Type'); next(); }); //登录 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') })
Der query.js-Code lautet wie folgt:
(function() { var mysql = require('mysql'); // var session = require('cookie-session'); var query = (sql,key) => { var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root123', database: 'm_users' }); connection.connect() var promise = new Promise((resolve,reject)=>{ connection.query(sql,[key], function(error, results, fields) { if(error){ reject(error) }else{ resolve(results); } }); connection.end(); }); return promise; } module.exports = query; })()
Zusammenfassung der Praxis:
1. Einsteiger-Nutzung von Express sowie Verwendung von Body-Parser- und MySQL-Plug-Ins.
2. Versuchen Sie, Inspector zum Debuggen des Knotenprogramms zu verwenden und den Debugger zu implementieren. Ich persönlich bin es übrigens eher gewohnt, gulp zum Debuggen zu verwenden.
3.Wenn der Client die Post-Call-Schnittstelle verwendet, muss er den Unterschied im Inhaltstyp unterscheiden:
Content-Type:application/json;charset=UTF-8-Parameter wird in requestPayload platziert
Content-Type: ist nicht festgelegt oder application/x-www-form-urlencoded-Parameter wird in Formulardaten platziert
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Express+multer implementiert die spezifischen Schritte zum Hochladen von Knotenbildern
Wie Vue mit statischen Bildern und Netzwerkbildern umgeht
Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Abfrageserver in Express. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!