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

一。前端项目前端

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

  1. axios安装和配置

~ npm install axiosnode

1. main.js或app.js加载axios。
    import axios from 'axios'
    Vue.prototype.$axios = axios
2. config目录下index.js文件修改proxyTable

clipboard.png

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

clipboard.png

clipboard.png

二。后端项目ios

1. 使用koa2脚手架
~ npm install -g koa-generator
~ koa2 nosqlDemo
~ npm install

项目搭建后基本目录

clipboard.png

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");

clipboard.png

clipboard.png

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就是要查询的数据库集合

clipboard.png

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以后查询语句不同了)

clipboard.png

clipboard.png

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",
                    "<node_internals>/**/*.js"
                ]
            }
        ]
    }

点一下有惊喜web

clipboard.png

clipboard.png

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

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

https://segmentfault.com/a/1190000015431830

~ npm startmongodb

clipboard.png

后端中预留的app目录包含层和m层,之后分离routes里的逻辑须要用到。vue-cli

相关文章
相关标签/搜索