致访客
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
感谢各位一年多的陪伴,因内容调整,本站将于近日迁移到新域名并不再更新主要内容。
特此通知。
第二十三节
作者提示:本节内容是之后做实例项目所需的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"
);
})
相关文件下载