<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Malagu Serverless First漸進(jìn)式應(yīng)用開發(fā)框架

          聯(lián)合創(chuàng)作 · 2023-09-20 02:23

          Malagu 是基于 TypeScript 的 Serverless First、組件化、平臺(tái)無關(guān)的漸進(jìn)式應(yīng)用框架。

          特征

          • 約定大于配置,零配置,開箱即用
          • TypeScript 版 Spring Boot
          • Serverless First
          • 平臺(tái)不鎖定
          • 支持前后端一體化,前端框架不鎖定
          • 組件化,漸進(jìn)式
          • 命令行工具插件化
          • 依賴注入
          • 面向切面編程(AOP)
          • 集成了流行的 ORM 框架,使用裝飾器聲明式事務(wù)管理
          • 支持 OIDC 認(rèn)證
          • 支持 OAuth2 授權(quán)
          • 使用 rxjs 管理狀態(tài)
          • 提供 REST 和 RPC 兩種接口風(fēng)格

          Malagu 名字由來:在我的家鄉(xiāng),諧音“嗎啦咕”是小石頭的意思,小石頭堆砌起來可以建成高樓大廈、道路橋梁,而 Malagu 組件編排可以實(shí)現(xiàn)千變?nèi)f化的應(yīng)用。

          快速開始

          # 安裝命令行工具
          npm install -g yarn
          npm install -g @malagu/cli
          
          # 初始化
          malagu init project-name
          cd project-name            # 進(jìn)入項(xiàng)目根目錄
          
          # 運(yùn)行
          malagu serve
          
          # 部署
          malagu deploy

          文檔

          依賴注入

          // 類對象注入
          @Component()
          export class A {
          
          }
          
          @Component()
          export class B {
              @Autowired()
              protected a: A;
          }
          
          // 配置屬性注入
          @Component()
          export class C {
              @Value('foo') // 支持 EL 表達(dá)式語法,如 @Value('obj.xxx')、@Value('arr[1]') 等等
              protected foo: string;
          }

          數(shù)據(jù)庫操作

          import { Controller, Get, Param, Delete, Put, Post, Body } from '@malagu/mvc/lib/node';
          import { Transactional, OrmContext } from '@malagu/typeorm/lib/node';
          import { User } from './entity';
          @Controller('users')
          export class UserController {
              
              @Get()
              @Transactional({ readOnly: true })
              list(): Promise<User[]> {
                  const repo = OrmContext.getRepository(User);
                  return repo.find();
              }
              @Get(':id')
              @Transactional({ readOnly: true })
              get(@Param('id') id: number): Promise<User | undefined> {
                  const repo = OrmContext.getRepository(User);
                  return repo.findOne(id);
              }
              @Delete(':id')
              @Transactional()
              async remove(@Param('id') id: number): Promise<void> {
                  const repo = OrmContext.getRepository(User);
                  await repo.delete(id);
              }
              @Put()
              @Transactional()
              async modify(@Body() user: User): Promise<void> {
                  const repo = OrmContext.getRepository(User);
                  await repo.update(user.id, user);
              }
              @Post()
              @Transactional()
              create(@Body() user: User): Promise<User> {
                  const repo = OrmContext.getRepository(User);
                  return repo.save(user);
              }
          }
          
          瀏覽 24
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91人妻人人澡人人爽人人精品 | 欧美成人小视频 | 黄片视频在线免费看 | 国产AV无码成人精品毛片 | 国产激情操逼 |