이번에는 Express로 쿼리 서버를 구축하는 방법을 알려드리겠습니다. Express로 쿼리 서버를 구축할 때 주의사항은 무엇인가요?
이 기사에서는 Express를 사용하여 간단한 쿼리 서버를 구축하는 방법을 소개하고 자세한 내용을 모두와 공유합니다.
사용되는 기술 스택에는 Express 및 mysql이 포함됩니다.
프로젝트 구조:
service --node_modules --app.js --query.js
app.js는 호출 서비스를 지원하고 body-parser를 사용하여 요청을 처리합니다.
query.js는 데이터베이스를 연결하고 쿼리하는 기능을 구현합니다.
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-parser 및 mysql 플러그인 사용.
2. Inspector를 사용하여 노드 프로그램을 디버그하고 디버거를 구현해 보세요. 그런데 개인적으로 디버깅에는 gulp를 사용하는 것이 더 익숙합니다.
3.클라이언트가 포스트 호출 인터페이스를 사용할 때 Content-Type:
의 차이를 구별해야 합니다. Content-Type:application/json;charset=UTF-8 매개변수가 requestPayload에 배치되어 있습니다.Content-Type: 설정되지 않았거나 application/x-www-form-urlencoded 매개변수가 양식 데이터에 배치되어 있습니다. 이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요! 추천 자료:Express+multer는 노드 이미지를 업로드하는 특정 단계를 구현합니다.
vue가 정적 이미지와 네트워크 이미지를 작동하는 방법
위 내용은 Express에서 쿼리 서버를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!