5-3 掌握 egg.js + 云 mongodb

1 egg.js

1.1 初始化

  • 初始化和项目启动方法
# 初始化
$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple # 实际上执行的是 npm i create-egg
$ npm i
# 项目启动
$ npm run dev
$ open http://localhost:7001

1.2 通过 egg.js 框架添加新的 API

app > controller > project.js

'use strict';
const Controller = require('egg').Controller;
class ProjectController extends Controller {
  // 获取项目/组件的代码模板
  getTemplate() {
    const { ctx } = this;
    ctx.body =  'get template'
  }
}
module.exports = ProjectController;

app > router.js

'use strict';
// @param {Egg.Application} app - egg application
module.exports = app => {
  const { router, controller } = app;
  router.get('/project/template', controller.project.getTemplate);
};

2 云 mongodb

2.1 本地 mongodb 调试技巧

1. 启动

  1. 在mongodb安装目录下新建mongo.config配置文件,内容如下:
  dbpath=D:\mongodb\data
  logpath=D:\mongodb\log\mongo.log
  1. 在当前位置打开cmd命令行窗口
  2. 执行命令:> mongod.exe --config mongo.config
  3. 浏览器打开 http://127.0.0.1:27017 -- 有如下显示说明启动成功

2.2 egg.js 接入 mongodb 方法

  1. 创建 mongo 实例

app > utils > mongo.js

'use strict';

const Mongodb = require('@pick-star/cli-mongodb')
const { mongodbUrl, mongodbDbName } = require('../../config/db')

function mongo() {
  return new Mongodb(mongodbUrl, mongodbDbName)
}

module.exports = mongo
  1. 设置配置数据

config > db.js

'use strict';

/** MONGODB **/
const mongodbUrl = 'mongodb://localhost:27017/zmoon-cli'
const mongodbDbName = 'zmoon-cli'

module.exports = {
  mongodbUrl,
  mongodbDbName
}
  1. 服务器 api 执行
'use strict';
const Controller = require('egg').Controller;
const mongo = require('../utils/mongo')

class ProjectController extends Controller {
  // 获取项目/组件的代码模板
  async getTemplate() {
    const { ctx } = this;
    const data = await mongo().query('project')
    ctx.body =  data
  }
}
module.exports = ProjectController;
posted on 2022-12-30 11:32  pleaseAnswer  阅读(58)  评论(0编辑  收藏  举报