egg学习(一):使用egg的egg-mongoose搭建本地数据库

搭建一个egg项目:
代码地址:demo

结合node搭建本地服务器的框架有很多,今天选择的是egg这个框架,他是koa框架的封装形式,用起来会比较小白一点。由于本人用的是MongoDB搭建本地的数据库,所以选择了egg的egg-mongoose模块来搭建项目

安装egg的初始化框架
$ npm i egg-init -g
$ egg-init egg-example --type=simple
$ cd egg-example
$ npm i
启动项目
$ npm run dev
$ open localhost:7001
链接到本地的MongoDB:

安装mongoose并引入到项目中

npm install egg-mongoose -S
  • 在config文件中找到 config.default.js 文件
// 引入egg-mongoose
const mongoose = require('mongoose');
module.exports = appInfo => {
   
  const config = exports = {
   };
  config.keys = appInfo.name + '_1539588102822_7832'; // 此处的字符是自己设定的cookie加密码
  // 添加 view 配置,nunjucks是一个用来在服务器端渲染HTML的插件,用npm 安装即可
  exports.view = {
   
    defaultViewEngine: 'nunjucks',
    mapping: {
   
      '.tpl': 'nunjucks',
    },
  };
  exports.mongoose = {
   
    url: 'mongodb://127.0.0.1:27017/mongoTest',
    // 链接到本地的MongoDB,mongoTest是我本地数据库的名字,根据自己数据库名字进行填写即可
    options: {
   },
  };
  // add your config here
  config.middleware = [];
  return config;
};

介绍项目目录分配

在egg 项目的app文件中,有系统默认的几个文件夹
在这里插入图片描述

  • controller : 是用来分发路由接口请求的文件夹,指定了不同的路由对应的操作
  • middleware : 是用来存放中间件的文件夹
  • model : 是用来定义数据库中表单的数据类型的文件夹
  • service : 是用来操作数据库的文件存放的地方,他是从controller中细化出来的,主要用来写一些sql语言,保持 Controller 中的逻辑更加简洁。
  • view : 是用来存放一些需要服务器渲染的页面的.html.tpl文件的地方
  • router :是用来分配接口路由的文件
  • router.js :为了让router 文件夹中的路由文件看起来整洁有明确的分类,在外层用router.js这样一个文件做一个入口和索引的作用

介绍了以上的文件夹的作用,就可以开始写自己的后台项目了,每个模块对应的命名有一定的要求,比如我现在要创建一个关于学生选修课的接口,我先创建一个学生的数据库表格,我给文件命名为student,那么我就需要在controller,service,model中创建一个student.js,入门级的使用方式可以参照 egg快速入门

第一步:分配路由:(在router.js文件中)

module.exports = app => {
   
  const {
    router, controller } = app;
  router.get('/getStudentList', controller.student.list)
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值