kao2+mongodb搭建小程序后台环境(一)

一、安装koa2

1.进入项目根目录,执行以下命令

npm install -g koa-generator // 安装koa2脚手架工具
koa2 -e server //创建server项目,项目名称可自取
cd server //进入server目录
cnpm install //安装package.json文件中的依赖

二、创建相关目录及文件(名字可以自取)

1.在server目录下,创建database目录
2.在database目录下创建init.js文件
3.在server目录下创建index.js文件

index.js的文件内容如下

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
    const Koa = require('koa');
    const App = new Koa();
    App.use(async(ctx)=>{
        ctx.body = "<h1>hello koa2</h1>";
    })
    .listen(3000,()=>{
        console.log("3000端口启动成功!");
    })
4.在server目录下执行

node index.js
kao2+mongodb搭建小程序后台环境(一) 随笔 第1张

5.打开浏览器访问localhost:3000

kao2+mongodb搭建小程序后台环境(一) 随笔 第2张

二、安装mongoose

1.在server目录下执行
`npm install mongoose --save //安装mongoose`  
2.编辑init.js   

init.js文件的内容如下

    const mongoose = require('mongoose')
    const db = 'mongodb://127.0.0.1/music'
    // mongoose自己实现的Promise与规范的Promise存在差异,在这里使用node.js实现的Promise global 是服务器端的全局对象
    mongoose.Promise = global.Promise
    exports.connectdb = () => {
      let  maxConnectTimes = 0
      return new Promise((resolve,reject) => {
        if (process.env.NODE_ENV !== 'production') {
            mongoose.set('debug', true)
          }
          mongoose.connect(db)
          mongoose.connection.on('disconnect', () => {
            maxConnectTimes ++
            if (maxConnectTimes < 5) {
              mongoose.connect(db)
            } else {
              throw new Error('There is something wrong about mongodb')
            }
          })
          mongoose.connection.on('error', () => {
            reject(err)
            console.log(error)
          })
          mongoose.connection.on('open', () => {
            resolve()
            console.log('Mongodb connected successfully')
          })
      })
    }
3.完善index.js文件

****index.js文件的内容如下***

    const Koa = require('koa')
    const {connectdb} = require('./database/init')
    const App = new Koa()
    App.use(async(ctx)=>{
        ctx.body = "<h1>hello koa2</h1>"
    })
    .listen(3000,()=>{
        console.log("3000端口启动成功!")
    })
    ;(async ()=>{
        await connectdb();
    })()
4.在server目录下执行

node index.js
如果打印出
Mongodb connected successfully则说明连接成功

参考链接
koa2 入门(1)koa-generator 脚手架和 mongoose 使用

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄