Heim >Web-Frontend >js-Tutorial >So erstellen Sie einen Abfrageserver in Express

So erstellen Sie einen Abfrageserver in Express

php中世界最好的语言
php中世界最好的语言Original
2018-04-12 17:33:321480Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn