Malagu Serverless First 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Malagu Serverless First 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Malagu Serverless First 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 TypeScript
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
投 递 者 木香丘
适用人群 未知
收录时间 2020-10-19

软件简介

Malagu 是基于 TypeScript 的 Serverless First、组件化、平台无关的渐进式应用框架。

特征

  • 约定大于配置,零配置,开箱即用
  • TypeScript 版 Spring Boot
  • Serverless First
  • 平台不锁定
  • 支持前后端一体化,前端框架不锁定
  • 组件化,渐进式
  • 命令行工具插件化
  • 依赖注入
  • 面向切面编程(AOP)
  • 集成了流行的 ORM 框架,使用装饰器声明式事务管理
  • 支持 OIDC 认证
  • 支持 OAuth2 授权
  • 使用 rxjs 管理状态
  • 提供 REST 和 RPC 两种接口风格

Malagu 名字由来:在我的家乡,谐音“吗啦咕”是小石头的意思,小石头堆砌起来可以建成高楼大厦、道路桥梁,而 Malagu 组件编排可以实现千变万化的应用。

快速开始

# 安装命令行工具
npm install -g yarn
npm install -g @malagu/cli

# 初始化
malagu init project-name
cd project-name            # 进入项目根目录

# 运行
malagu serve

# 部署
malagu deploy

文档

依赖注入

// 类对象注入
@Component()
export class A {

}

@Component()
export class B {
    @Autowired()
    protected a: A;
}

// 配置属性注入
@Component()
export class C {
    @Value('foo') // 支持 EL 表达式语法,如 @Value('obj.xxx')、@Value('arr[1]') 等等
    protected foo: string;
}

数据库操作

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);
    }
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2020/11/08 17:55

Malagu v1.4.1 发布 - 支持 Serverless 优先的微服务框架

Malagu 框架简介 Malagu 基于 TypeScript 的 Serverless First、组件化、平台无关的渐进式应用框架。 背景 当我们着手开发一个新项目的时候,单体和微服务架构该如何抉择?对于创业团队来说,更倾向于先采用单体架构来试错,商业模式验证成功后,再根据业务规模的增涨逐渐演进到微服务架构,从而解决单体架构带来的臃肿、可维护性等等问题。 目前,微服务的落地方案有很多,也相当成熟,比如像 Spring Cloud、Dubbo 等等的微服务...

0
3
发表了资讯
2020/10/23 16:18

Serverless Frist 的渐进式应用开发框架 Malagu

什么是 Malagu Malagu 是基于 TypeScript 的 Serverless First、组件化的渐进式应用开发框架。使用同一套编程语言和 IoC 设计,用于开发前端、后端和前后端一体化应用。并且结合了 OOP(面向对象编程)、AOP(面向切面编程)等元素,借鉴了很多 Spring Boot 设计思想。 在后端,Malagu 抽象一套接口,方便适配任意的平台和基础框架,是一个平台或基础框架无关的上层框架。平台如阿里云函数计算、腾讯云云函数、Vercel 等,基础...

8
9
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
css-what存在未明漏洞
css-what是一个CSS选择器解析器。 css-what 5.0.1之前版本存在安全漏洞,该漏洞源于css-what包并不能确保属性解析具有相对于输入大小的线性时间复杂度。目前没有详细漏洞细节提供。
CVE-2021-33587 MPS-2021-7397
2022-08-08 20:23
Follow Redirects 安全漏洞
侵犯隐私
Follow Redirects是一个自动遵循 Http(s) 重定向的 Node.js 模块。 Follow Redirects 存在安全漏洞,该漏洞源于follow-redirects容易暴露私人个人信息给未经授权的参与者。
CVE-2022-0155 MPS-2022-0815
2022-08-08 20:23
marked 存在ReDoS漏洞
ReDoS
标记是一个低级编译器,用于解析降价而不需要长时间缓存或阻塞。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-13864
2022-08-08 20:23
follow-redirects project信息暴露漏洞
信息暴露
Exposure of Sensitive Information to an Unauthorized Actor in NPM follow-redirects prior to 1.14.8.
CVE-2022-0536 MPS-2022-3636
2022-08-08 20:23
Axios 代码问题漏洞
SSRF
Axios是一款基于Promise(异步编程的一种解决方案)的HTTP客户端。 Axios NPM package 0.21.0版本存在安全漏洞,攻击者可利用该漏洞能够通过提供一个URL绕过代理,该URL通过重定向响应一个受限制的主机或IP地址。
CVE-2020-28168 MPS-2020-16365
2022-08-08 20:23
Axios 拒绝服务 漏洞
拒绝服务
Axios 是一个基于promise 网络请求库。 漏洞版本的axios 容易受到低效正则表达式复杂性的影响,从而引发拒绝服务 (ReDoS) 的攻击。
CVE-2021-3749 MPS-2021-30688
2022-08-08 20:23
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
6 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部