确保电脑已安装node.新建个文件夹,准备存放服务文件,打开文件夹,按住shift右键快捷打开powershell窗口,执行命令

npm i express

然后依赖文件就安装好了

 

 

 新建serve文件夹,里面建几个文件

db.js --------数据库配置
index.js -----express服务实例,也是引导文件,对服务进行总体配置
api.js ------编写接口

db.js

// 数据库配置
module.exports = {
    mysqlInfo:{
        // 本地用这个
        host:'127.0.0.1',
        user:'root',
        // 线上切换成这个
        //  host:'',
        //  user:'',
        password:'',
        port:'3306',
        database: 'dashijian', // 要连接的数据库名称
        connectTimeout: 5000, //连接超时
        multipleStatements: false //是否允许一个query中包含多条sql语句
    }
}
index.js
const userApi = require('./api.js') // 接口文件
const bodyParser = require('body-parser')// 配置解析表单的中间件
const express = require("express")
const  cors = require('cors')// 一定在路由前配置cors这个中间件,用来解决跨域问题
//const router = require('./sqlMap.js')// 导入路由
const app = express()// 创建express的服务器实例

app.all("*",function(req,res,next){
    //设置允许跨域的域名,*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin","*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers","content-type");
    //跨域允许的请求方式
    res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.sendStatus(200);  //让options尝试请求快速结束
    else
        next();
})
app.use(cors())
    .use(bodyParser.urlencoded({extended: false}))
    .use(bodyParser.json())
    .use('/assets',express.static('../assets'))
    .use('/api',userApi)
    .listen(8081, function (){
        console.log('服务器启动')
    })
api.js
const modules = require('./db.js')
const mysql = require('mysql')
const multer = require('multer')
const express = require('express')
const router = express.Router()

// 本地地址
const BASE_URL = 'http://127.0.0.1:8081'
// 连接数据库
const conn = mysql.createConnection(modules.mysqlInfo)
conn.connect()
// 格式化返回数据
let jsonWrite = function (res, ret) {
    if (typeof ret === 'undefined') {
        res.json({
            code: '1',
            msg: '操作失败'
        })
    } else {
        res.json(ret)
    }
}

let upload = multer({
    storage: multer.diskStorage({
        destination: function (req, file, cb) {
            cb(null, '../assets/newsList');
        },
        filename: function (req, file, cb) {
            var changedName = (new Date().getTime())+'_'+file.originalname;
            cb(null, changedName);
        }
    })
});
// 文件上传并将路径保存到数据库
router.post('/addEvent', upload.any(), (req, res,next) => {
    const { body, files } = req
    console.log(files)
  let file = req.files
  let name = req.body.name || ''
  for(let i = 0; i<file.length; i++){
  let path = file[i].path.replace(/\\/g,'/')
  let sql = `INSERT INTO image (name,picname,path) VALUES ("${name}", "${file[i].originalname}", "${path}")`
  conn.query(sql,(err,result)=>{
  if(err) throw err
  })
  }
  res.json({
  fileList: file
  }); 
}) 

// 获取所有数据
router.get('/get', (req,res) => {
  let sql
= 'SELECT * FROM test'
  conn.query(sql, (err, result)
=> {
    
if(err) throw err
  jsonWrite(res, result)
  })
})

也可以将全部sql写在一个文件里,然后引用就可以了,因为是测试接口,就简单写了个大概,然后你数据库里建一些东西,试试能不能查出来,如果可以,就说明接口是通的,没有问题

 

 

 

 

 

 

版权声明:本文为alannero原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/alannero/p/17086309.html