Express+React快速实现前后端分离开发
// 引入框架
const express = require("express");
const app = express();
var mysql = require('mysql');
//引入数据库配置文件
const config = require('./config/');
//body解析
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
//链接数据库
var connection = mysql.createConnection(config);
connection.connect();
// 创建 application/x-www-form-urlencoded 编码解析(post方法)
var urlencodedParser = bodyParser.urlencoded({ extended: false })
//设置跨域访问
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
// 处理文件路径的模块
const path = require('path');
// 静态文件处理,定义并创建一个目录,存放你的静态文件,比如:css,图片,前端js代码等等
app.use(express.static('src'));
// 页面路由处理,这段处理代码表示,路由/ 也就是首页的时候执行index
const index = require('./routers/index');
app.use('/', index);
//查询
app.get('/query', function (req, res) {
console.log('query');
var sql = 'select * from 表名';
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
// (result);
var data = { 'err': 0, 'msg': '成功', 'arr': result };
console.log(data);
res.status(200),
res.json(data);
});
});
//添加
app.get('/add', function (req, res) {
var name = req.query.name
console.log(name);
//构建添加语句,Id属性为auto_increment
var sql="INSERT into 表名(name) VALUES("+connection.escape(name)+")";
console.log(sql);
// (sql);
connection.query(sql, function (err, result) {
if (err) {
console.log('err:', err.message);
}
console.log(result);
res.status(200),
res.json("添加成功")
});
})
connection.end();
// 运行127.0.0.1:9999
const server = app.listen(9999, function () {
console.log('127.0.0.1:9999 启动成功');
});