egg.js + sequelize 基础教程持续更新

1. 含义

1. 什么是sequelize

​ Sequelize.js 提供对 MySQLMariaDBSQLitePostgreSQL 数据库的简单访问,通过映射数据库条目到对象,或者对象到数据库条目。简而言之,就是 ORM(Object-Relational-Mapper)。Sequelize.js 完全是使用 JavaScript 编写,适用于 Node.js 的环境。使用sq来进行数据库创建的管理,适用于较大项目的场景,可以将数据库的创建语句等记录下来,而不是我们直接去navicate里面进行数据库的创建。 总之就是方便管理,适用于大型项目或者想要自己的数据库能够更加规范的进行管理。

  1. 什么是egg.js

    ​ Egg.js(简称 Egg)是一个基于 Node.js 和 Koa 框架构建的企业级后端开发框架。它借鉴了 Express 的灵活和 Koa 的优雅,提供了一套开箱即用的开发框架和规范,旨在帮助开发者快速构建可扩展、可维护的应用程序。

2. egg.js 进阶操作

2.1 资源路由

  1. 含义

    一个router监听器里面只需要使用resource进行监听就能监听里面所有的增删改查的路由路径操作

  2. 使用步骤

    1. 首先在router中创建一个路由

      router.resources('/user', '/api/user', controller.user)   // 注意这里的控制器只能使用一个单独的文件不能再点到里面的方法   
      
    2. 然后再controller文件中创建一个user文件写入一下代码

      const { Controller } = require("egg");
      
      // 配置好以下增删改查的方法
      class UserController extends Controller {
        // 资源路由
        async index() {
          this.ctx.body = "列表页";
        }
        async new() {
          this.ctx.body = "新增表单页";
        }
        async create() {
          this.ctx.body = "新增逻辑";
        }
        async show() {
          this.ctx.body = "详情页" + this.ctx.params.id;
        }
        async edit() {
          this.ctx.body = "编辑表单页";
        }
        async update() {
          this.ctx.body = "更新逻辑";
        }
        async destory() {
          this.ctx.body = "删除逻辑";
        }
      }
      module.exports = UserController;
      
    3. 这样就能使用一个路由监听器来访问以下的所有控制器方法

      get方法能够访问:

      image-20231019132828794

      image-20231019132918908

      image-20231019132932298

      image-20231019132946641

      post方法访问:

      image-20231019133114141

      delete方法访问:

      image-20231019133453301

      put方法访问:

      image-20231019133209309

2.2 路由分组

  1. 含义:

    将所有的路由文件进行模块化管理,方便项目体积较大时的维护和管理

  2. 步骤:

    1. 首先app下面的根路由文件不能动,然后再创建一个router文件里面分别管理不同操作的路由信息 比如用户登录操作用user.js管理,商品信息用goods.js管理

    2. 然后再把这些router下的文件使用require导入的方法导入到根路由文件中,同时还需要传入一个app

      比如:

      image-20231019134001677

      image-20231019134048315

2.3 跨域

  1. 在egg.js中如果使用到了post请求都会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值