一、Midway 增删改查

一、Midway 增删改查阅读本文前 需要提前阅读前置内容 一 Midway 增删改查 二 Midway 增删改查的封装及工具类 三 Midway 接口安全认证 四 Midway 集成 Swagger 以及支持 JWT bearer 五 Midway 中环境变量的使用 midway 是阿里巴巴开源的 基于 TypeScript 语言开发的 Nodejs 后端框架 本教程指导大家从 0 开始搭建一个 midway 项目

大家好,我是讯享网,很高兴认识大家。

阅读本文前,需要提前阅读前置内容:

一、Midway 增删改查
二、Midway 增删改查的封装及工具类
三、Midway 接口安全认证
四、Midway 集成 Swagger 以及支持JWT bearer
五、Midway 中环境变量的使用

其遵循遵循两种编程范式
  • 面向对象(OOP + Class + IoC);
  • 函数式(FP + Function + Hooks);
谁较容易上手学习
  • 懂Nodejs技术的前端开发;
  • 会TypeScript的后端开发;
在这里你可以掌握度如下知识
  • 面向对象的开发体验;
  • 增删改查及基类封装;
  • 数据库操作;
  • 缓存操作;
  • 用户安全认证及访问安全控制;
  • JWT访问凭证;
  • 分布式访问状态管理;
  • 密码加解密;
  • 统一返回结果封装;
  • 统一异常管理;
  • Snowflake主键生成;
  • Swagger集成及支持访问认证;
  • 环境变量的使用;
  • Docker镜像构建;
  • Serverless发布;
本项目源码

https://github.com/bestaone/midway-boot

LIVE DEMO

http://midway-boot.hiauth.cn/swagger-ui/index.html

环境准备

  • Nodejs 12+
  • Npm 8+
  • MySql 5+
  • Redis

开发工具

我们这里使用 IntelliJ IDEA

下载地址:https://www.jetbrains.com/zh-cn/idea/download

安装数据库

略…


讯享网

安装Redis

略…

第一个midway项目

初始化创建
>npm init midway 

讯享网
  • 执行命令后,需要选择模板,标准项目需要选择:koa-v3;
  • 项目名可以自定义(我这里设置为midway-boot);
启动
讯享网>cd midway-boot >npm run dev 

启动后浏览器访问:http://127.0.0.1:7001

调整ESLint配置

为了保证代码分隔统一,我们调整下ESLint配置

// .prettierrc.js module.exports = { 
    ...require('mwts/.prettierrc.json'), endOfLine: "lf", // 换行符使用 lf printWidth: 120, // 一行最多 120 字符 proseWrap: "preserve", // 使用默认的折行标准 semi: true, // 行尾需要有分号 } 

在windows中代码的首行、尾行不能有空行,否则ESLint提示格式错误,可能是bug。

项目结构介绍

讯享网├─src # 源码目录 │ ├─config # 配置 │ ├─controller # 控制器 │ ├─entity # 数据对象模型 │ ├─filter # 过滤器 │ ├─middleware # 中间件 │ ├─service # 服务类 │ ├─configurations.ts # 服务生命周期管理及配置 │ └─interface.ts # 接口定义 ├─test # 测试类目录 ├─bootstrap.js # 启动入口 ├─package.json # 包管理配置 ├─tsconfig.json # TypeScript 编译配置文件 

增删改查

ORM组件:TypeORM

TypeORM是Object Relation Mapping工具,提供的数据库操作能力。

安装依赖
>npm i @midwayjs/orm@3 typeorm --save 

安装完后package.json文件中会多出如下配置

讯享网{ 
    "dependencies": { 
    "@midwayjs/orm": "^3.3.6", "typeorm": "^0.3.7" } } 
引入组件

src/configuration.ts中引入 orm 组件

// configuration.ts import { 
    Configuration, App } from '@midwayjs/decorator'; import * as koa from '@midwayjs/koa'; import * as validate from '@midwayjs/validate'; import * as info from '@midwayjs/info'; import { 
    join } from 'path'; import { 
    ReportMiddleware } from './middleware/report.middleware'; import * as orm from '@midwayjs/orm'; @Configuration({ 
    imports: [ orm, // 引入orm组件 koa, validate, { 
    component: info, enabledEnvironment: ['local'], }, ], importConfigs: [join(__dirname, './config')], }) export class ContainerLifeCycle { 
    @App() app: koa.Application; async onReady() { 
    this.app.useMiddleware([ReportMiddleware]); } } 
添加数据库配置

修改配置src/config/config.default.ts

讯享网// src/config/config.default.ts import { 
    MidwayConfig } from '@midwayjs/core'; export default { 
    keys: '14_9253', koa: { 
    port: 
小讯
上一篇 2025-03-21 07:29
下一篇 2025-03-05 08:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/56278.html