Este artículo presenta cómo construir un servidor de consultas simple usando express y lo comparte con todos. Los detalles son los siguientes:
Las pilas de tecnología utilizadas incluyen express y mysql.
Estructura del proyecto:
servicio--node_modules--app.js--query.js
app.js admite llamadas a servicios y el uso de body-parser para procesar solicitudes.
query.js implementa las funciones de vincular a la base de datos y consultar la base de datos.
El código de app.js es el siguiente:
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({ extendido: falso }))//El objeto devuelto es un par clave-valor. Cuando extendido es falso, el valor en el par clave-valor tiene la forma de 'Cadena' o 'Matriz'. Cuando es verdadero, puede ser cualquiera. tipo de datos. app.use(bodyParser.json())//Soporte entre dominios app.all('*', function(req, res, next) { res.header(Access-Control-Allow-Origin, *); res. encabezado ('Acceso-Control-Permitir-Métodos', 'PONER, OBTENER, PUBLICAR, ELIMINAR, OPCIONES'); res.header(Access-Control-Allow-Headers, X-Requested-With); res.header('Access-Control-Allow-Headers', 'Content-Type'); en app.post('/login',(req,res)=>{ var opts = req.body; consulta( SELECCIONE *DESDE `v_users` DONDE userAcount = ?,opts.userName).then((resultado)=>{ var respuesta = resultado[0]; if(opts.password !== respuesta.u_password){ return res.send({ errorCode:'404', errorMsg:'Contraseña de inicio de sesión incorrecta' }) } //Simular y generar loginToken var loginToken = respuesta.userAcount + Math.random()*Math.pow(10,16) res.send({ loginToken:loginToken }) })})var servidor = app.listen(3000,()=>{ console.log('éxito') })
El código query.js es el siguiente:
(función() { var mysql = require('mysql'); // var sesión = require('cookie-sesión'); var consulta = (sql,key) => { var conexión = mysql.createConnection({ host: 'localhost', usuario: 'root', contraseña: 'root123', base de datos: 'm_users' }); Promesa((resolver,rechazar)=>{ conexión.query(sql,[clave], función(error, resultados, campos) { if(error){ rechazar(error) }else{ resolver(resultados); } }); conexión.end(); }); promesa de devolución; } module.exports = consulta;})()
Resumen de la práctica:
1. Uso básico de express, así como uso de complementos body-parser y mysql.
2. Intente usar Inspector para depurar el programa de nodo e implementar el depurador. Personalmente, estoy más acostumbrado a usar gulp para depurar.
3. Cuando el cliente usa post para llamar a la interfaz, debe distinguir la diferencia de tipo de contenido:
Tipo de contenido: aplicación/json; charset = parámetro UTF-8 se coloca en requestPayload
Tipo de contenido: no establecido o el parámetro application/x-www-form-urlencoded se coloca en datos del formulario
Lo anterior es el contenido completo de este artículo. Espero que sea útil para el estudio de todos. También espero que todos apoyen VeVb Wulin Network.