Express+React快速实现前后端分离开发

时间:2025-03-26 15:03:12
// 引入框架 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 启动成功'); });