koa2后端和php后端,vue+koa2+mongo前后端分离restful,配置和部署到云

一。前端项目

1.使用vue-cli(vue2.0)搭建项目,这里就不发了.

axios安装和配置

~ npm install axios

1. main.js或app.js加载axios。

import axios from 'axios'

Vue.prototype.$axios = axios

2. config目录下index.js文件修改proxyTable

bVbc842?w=684&h=608

3. view来个get请求,查看结果。

bVbc896?w=962&h=750

bVbc9ao?w=1076&h=366

二。后端项目

1. 使用koa2脚手架

~ npm install -g koa-generator

~ koa2 nosqlDemo

~ npm install

项目搭建后基本目录

bVbc9iS?w=534&h=880

2. app.js配置后端跨域,更改api请求端口为8081

ctx.set("Access-Control-Allow-Origin", "*");

ctx.set("Access-Control-Allow-Headers", "X-Requested-With");

ctx.set("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");

bVbc9jF?w=1294&h=874

bVbc9ki?w=736&h=450

3. 使用monk或mongoose,这里使用monk操作mongo

~ npm install monk

在user.js里调用

const Monk = require('monk')

const db = Monk('mongodb://管理员账号:管理员密码@xxx.xxx.xx.xx:27017/testDb?authSource=admin') // testDb就是要查询的数据库集合

bVbc9mi?w=1490&h=316

4. 表(文档)查询

const user = db.get('userinfo');

router.get('/dpi/getList', async (ctx) => {

let st = await user.find();

ctx.response.type = 'application/json';

console.log(st)

ctx.body = st;

})

先来几条疯狂输出的测试数据(mongo3.65之后查询语句不一样了)

bVbc9uW?w=698&h=652

bVbc9nC?w=896&h=554

5. 需要本地调试配置ide-debug,这里使用vscode

{

"version": "0.2.0",

"configurations": [

{

"type": "node",

"request": "launch",

"name": "debug-app",

// "runtimeExecutable": "nodemon",

"program": "${workspaceRoot}/app.js",

"restart": true,

"console": "integratedTerminal",

"skipFiles": [ //skipFiles使断点不进入到node_model包

"${workspaceRoot}/node_modules/**/*.js",

"/**/*.js"

]

}

]

}

点一下有惊喜

bVbc9oN?w=570&h=416

bVbc9sl?w=962&h=364

三. 将后端ftp上传到centos,并切换到目录下启动

centos下web环境配置(这里设置目录/srv/www/server)参考:

https://segmentfault.com/a/1190000015431830

~ npm start

bVbc9pV?w=842&h=708

后端中预留的app目录包含层和m层,以后分离routes里的逻辑需要用到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值