Malagu框架有别于目前社区所有的nodejs框架,它是为了函数计算而生,但并非是一个函数计算的简单应用框架,它可以用来实现一个web服务器,也可以用来写写spa,甚至用来开发一个CLI也不成问题,那么malagu框架到底是个什么呢?
Malagu是一个为了构建极致开发体验、可伸缩的应用框架,它完全使用typescript编写,并且融合了IoC、AOP元素,为了构建极致开发体验和可伸缩,它提供了诸多特性:
- 零配置,开箱即用
- 组件化,这里组件不仅仅局限于前端,在malagu框架中处处都是组件,nodejs端的亦是如此
- 借鉴Spring boot的开发思想,可以认为是一个nodejs版本的spring boot
- 天生支持serverless,一键部署到任何云计算的FC中
- 命令工具插件化,支持各种hook,满足开发者的定制需求
- IoC和AOP的使用,让开发变得更加简单
- 默认继承typeorm,无缝对接众多流行的数据库(typeorm对MongoDB支持不是很全)
Malagu框架没有基于任何现存的nodejs框架,而是基于原生的node的http模块,但是也可以接入任何nodejs框架,只要你愿意,因为是为了函数计算而生,所以默认的启动方式是以函数计算为入口。
1、安装
Malagu提供了cli工具来初始化一个项目框架:
$ npm i -g @malagu/cli
$ malagu init sample-app
Malagu提供诸多模板项目供开发者选择,目前支持:
- sample-app:前端后一体化模板
- backend-app:纯后端模板
- database-app:带有数据库支持的模板
- multi-component:多组件的模板
- my-cli:cli工具模板,可以用来写写自己的CLI
选择完模板,初始化完项目,malagu会自动帮你执行以下命令:
$ yarn install (默认是yarn,可以配置为npm)
之后你可以直接启动:
$ cd sample-app
$ npm start
接着打开你的浏览器并跳转到链接http://localhost:3000/
这样一个基础的malagu基本项目就可以使用了。
下一篇文章介绍malagu框架是如何打造前后端开发一体化体验的,请移步:你认为的前后端一体化开发是怎样的?