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

相關文章
相關標籤/搜索