当前位置: 首页 > 后端技术 > Node.js

Vue+Express+mysql(mongodb)+Vue全家桶架构

时间:2023-04-03 10:35:02 Node.js

项目目录:tips:序号对应的代码参考|--build|--config|--server//expressbackend|--api//接受请求的API|--data//如果使用mongodb,可以存储json数据文件|--data.json|--db.js//mongo或sql配置文件(1)|--index.js//express主配置文件(2)|--mysqlDB.sql//mysql导出文件|--sqlMap.js//sqlmap,mysql执行语句(三)|--src|--api//前端发起对api文件的请求|--get.js|--post.js|--assets//静态资源文件|--css.js|--js.js|--img.js|--components//组件|--icons//iconicon|--router//前端路由|--index.js|--store//vuexstate|--modules|--user.js|--getters.js|--index.js|--utils//工具文件|--request.js|--date.js|--views//前端主要展示.vue文件|--App.vue|--|--static|--css|--icon|--img|--js|--测试|--index.html|--package.json代码参考(一):db.js代码参考,mysql:module.exports={mysql:{host:'localhost',port:'3306',user:'LV',password:'123123',database:'LVShop',charset:'utf8mb4'}}(2):index.js代码参考:letexpress=require('express');letapp=express();letbodyParser=require('body-parser');varmysql=require('mysql');constdb=require('./db.js')//============获取POSTAPI================//constmCustomerAPI=require("./api/manage/customer")//============获取POSTAPI================//app.use(bodyParser.json());app.use(bodyParser.urlencoded({extended:true}));app.use(function(req,res,next){if(req.url==='your_alipay_notify_url'){req.headers['content-type']='application/x-www-form-urlencoded';}next();});//断开连接后自动连接函数functionhandleError(err){if(err){//如果连接断开,自动重连if(err.代码==='PROTOCOL_CONNECTION_LOST'){connect();}else{console.error(err.stack||err);}}}//数据库连接函数connect(){varconn=mysql.createConnection(db.mysql);conn.connect(handleError);conn.on('error',handleError);}connect();//监听端口letprot=3002;app.listen(prot,function(){//监听3002端口console.log("Serverrunningat"+prot+"port.......");});app.use(function(req,res,next){//只允许8080访问res.header('Access-Control-Allow-Origin','*');//服务允许客户端发送的方法res.header('Access-Control-Allow-Methods','GET,POST,DELETE,PUT,OPTIONS');//请求头allowedbytheserverres.header('Access-Control-Allow-Headers','Content-Type,Accept,Authorization');//跨域携带cookie允许客户端发送cookieres.header('Access-Control-Allow-Credentials','true');//如果请求方式为OPTIONS,则表示客户端只需要响应header,直接结束响应if(req.method=='OPTIONS'){res.end();}else{next();}});//请求接口app.use(mCustomerAPI)(3):sqlMap.js//sql语句varsqlMap={customer:{add:'insertinto`customer`(`username`,`password`,`telephone`,`permission`)values(?,?,?,?)'}}