In diesem Artikel wird erläutert, wie Sie mit Express einen einfachen Abfrageserver erstellen und ihn für alle freigeben. 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 Anforderungen.
query.js implementiert die Funktionen zum Verknüpfen mit der Datenbank und zum Abfragen 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({ erweitert: false }))//Das zurückgegebene Objekt ist ein Schlüssel-Wert-Paar. Wenn „extended“ „false“ ist, hat der Wert im Schlüssel-Wert-Paar die Form „String“ oder „Array“. Wenn er „true“ ist, kann er beliebig sein Datentyp. app.use(bodyParser.json())//Domänenübergreifende Unterstützung 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');//Log in 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:'Falsches Login-Passwort' }) } //LoginToken simulieren und generieren 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', Benutzer: 'root', Passwort: 'root123', Datenbank: 'm_users' }); Promise((resolve,reject)=>{ Connection.query(sql,[key], function(error, results, Fields) { if(error){ Reject(error) }else{solve(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, das Knotenprogramm mit Inspector zu debuggen und den Debugger zu implementieren. Ich persönlich bin es übrigens eher gewohnt, gulp zum Debuggen zu verwenden.
3. Wenn der Client Post zum Aufrufen der Schnittstelle verwendet, muss er den Unterschied zwischen Inhaltstyp unterscheiden:
Content-Type:application/json;charset=UTF-8-Parameter wird in requestPayload platziert
Content-Type: Nicht festgelegt oder der Parameter application/x-www-form-urlencoded wird in den Formulardaten platziert
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.