MENU

React学习笔记【20】

第二十三节

作者提示:本节内容是之后做实例项目所需的node服务器端,与React关联不大。读者可根据自己擅长的开发语言编写一个差不多的服务端。
所需的数据库文件在文末提供下载

使用express创建Server

npm init
npm install express --save
npm install mysql --save
创建index.js文件
node index.js

本节代码

sql.js

const mysql = require('mysql');

//配置连接
const connection = {
    host: 'localhost',
    port: '3306',
    user: 'root',
    password: '123456',
    database: 'learn-react'
};

//创建连接对象
let con = mysql.createConnection(connection);

//连接
con.connect(err => {
    if (err) {
        console.log('连接失败');
    } else {
        console.log('连接成功');
    }
});

//创建promise对象查询方法
function queryFn(sqlStr, arr) {
    return new Promise((resolve, reject) => {
        con.query(sqlStr, arr, (error, result) => {
            if (error) {
                reject(error);
            } else {
                resolve(result);
            }
        });
    });
}

module.exports = queryFn;

index.js

var express = require('express')
var app = express()
var sqlQuery = require('./sql')

app.get('/', (req, resp) => {
    resp.send("答题api服务器")
})

app.get('/api/rtimu/', async (req, resp) => {
    //随机获取10个题目
    // console.log(req.query);
    //跨域请求
    resp.append("Access-Control-Allow-Origin", "*");
    resp.append("Access-Control-Allow-Content-Type", "*");
    let page = req.query.page ? req.query.page : 2;
    let strSql = `select * from quizzes limit ${page * 10},10`;
    let res = await sqlQuery(strSql)
    resp.json(Array.from(res))
})

app.listen(8080, () => {
    console.log(
        'server started on 8080',
        "http://localhost:8080"
    );
})

相关文件下载

蓝奏云下载
下载地址失效请在评论区留言
本站下载
建议使用网盘下载


文章标题:React学习笔记【20】
如果文中内容侵犯了您的权益,请及时与博主取得联系进行删除!
本站文章未经许可禁止转载,本文地址:https://blog.wanvale.com/archives/282/

Archives QR Code Tip
QR Code for this page
Tipping QR Code