>  기사  >  웹 프론트엔드  >  Express는 간단한 쿼리 서버를 구축합니다.

Express는 간단한 쿼리 서버를 구축합니다.

小云云
小云云원래의
2018-02-11 09:19:021105검색

이 글은 주로 Express를 사용하여 간단한 쿼리 서버를 구축하는 방법을 소개합니다. 편집자는 꽤 좋다고 생각하므로 지금 공유하고 참고용으로 제공하겠습니다. 편집자를 따라가서 모두에게 도움이 되기를 바랍니다.

사용되는 기술 스택에는 express 및 mysql이 포함됩니다.

프로젝트 구조:


service
--node_modules
--app.js
--query.js

app.js는 호출 서비스를 지원하고 body-parser를 사용하여 요청을 처리합니다.

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({ 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')
})

query.js 코드는 다음과 같습니다.

(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;
})()

연습 요약:

1. express 및 body 사용 - 파서 및 mysql 플러그인 사용.

2. 그런데 개인적으로 디버깅을 위해 gulp를 사용하는 것이 더 익숙합니다.

3. Content-Type의 차이점 구별:

Content-Type: application/json; charset=UTF-8 매개변수가 requestPayload

Content-Type: 설정되지 않았거나 application/x-www-form-urlencoded 매개변수에 있음 양식 데이터에 배치됩니다

위 내용은 Express는 간단한 쿼리 서버를 구축합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.