安装MasaFramework
模板
执行以下命令安装最新Masa的模板
dotnet new --install Masa.Template
安装完成将出现四个模板
![313af2971e806ee830f2ddaac8786be6.png](https://img-blog.csdnimg.cn/img_convert/313af2971e806ee830f2ddaac8786be6.png)
Masa Blazor App
:
Masa Blazor App的模板创建的是一个没有携带解决方案的项目模板,默认项目结构如图:
![8db27f9e68ee21048ad25c2937a26954.png](https://img-blog.csdnimg.cn/img_convert/8db27f9e68ee21048ad25c2937a26954.png)
一个简单的Masa Blazor Server
项目
Masa Blazor Pro Web
:
Masa Blazor Pro Web的模板创建类型有多种
![028cee8efd97e4dae9f6bb4c018fe518.png](https://img-blog.csdnimg.cn/img_convert/028cee8efd97e4dae9f6bb4c018fe518.png)
Wasm
就是单纯的Wasm
模式
Wasm-Host
就是启动一个Server托管Wasm
Wasm-PWA
支持浏览器安装
Server
就是单纯的Blazor Server
模式
ServerAndWasm
是提供一个razor
类库作为界面,支持Blazor Server
和Blazor Wasm
俩种模式
对于上面五种模式更推荐第五种模式,这样就可以在部署的时候部署Blazor Server
和Blazor Wasm
俩种模式,可让用户自行切换,解剖以下Masa Blazor Pro Web
的项目结构
![fb3c1988557597663dec5d9caf7dc26f.png](https://img-blog.csdnimg.cn/img_convert/fb3c1988557597663dec5d9caf7dc26f.png)
MasaWebPro1
项目就是Razor
类库,提供界面逻辑和实际业务
MasaWebPro1.Server
项目就只是以Blazor Server
模式托管MasaWebPro1
项目的界面
MasaWebPro1.WebAssembly
项目就只是以Blazor WebAssembly
模式托管MasaWebPro1
项目的界面
运行项目将得到一个精美的项目模板
![efb6dd463bafeb3c6d977ca2be76a66d.png](https://img-blog.csdnimg.cn/img_convert/efb6dd463bafeb3c6d977ca2be76a66d.png)
可对其修改进行二次开发,也可以将Pro和MasaFramework结合一块使用
Masa Blazor Website
Masa Blazor Website项目结构
![644ace5fae822ba8c4ab3557354343bf.png](https://img-blog.csdnimg.cn/img_convert/644ace5fae822ba8c4ab3557354343bf.png)
Masa Blazor Website算是老版本的文档站点的模板,简单描述一下,默认使用了全球化
Masa Framework Project
Masa Framework Project就是我们的主角了
需要使用MasaFramework
的同志们就需要创建这个模板了,之前的模板都是单纯的Blazor
当我们创建MasaFramework
的时候存在多个选项
![83b1ed71ea467932110e559546f62f40.png](https://img-blog.csdnimg.cn/img_convert/83b1ed71ea467932110e559546f62f40.png)
Use Controllers
:使用控制器启用以后不使用MiniApis(更推荐使用MiniApis)
Enable OpenAPI Support
:其实是否默认使用Swagger
Add Dapr Support
:添加Dapr的支持
Use Dapr Actor
:使用Dapr Actor
Add Authorization An Authentication
:添加授权和认证
Add Fluent Validation Middleware
:添加校验中间件
分别讲解一下Choice Add Service Project and Mode
的Basic
,Cqrs
,Ddd
,Cqrs&Ddd
四个项目模板,Choice Add Web Project
其实就是Blazor的托管模式
Basic
:
![62c5556f4b20d841578433ce4c659b8f.png](https://img-blog.csdnimg.cn/img_convert/62c5556f4b20d841578433ce4c659b8f.png)
一个最基本的MasaFramework
的项目结构
Cqrs
:
![8ae75854a244fbac3f0cd311f2e98e6b.png](https://img-blog.csdnimg.cn/img_convert/8ae75854a244fbac3f0cd311f2e98e6b.png)
MasaFramework
的Cqrs结构,对比基本的MasaFramework
项目来说有些差异的
Ddd
:
![1ee4c3203e25ae6025714a3a6d778b42.png](https://img-blog.csdnimg.cn/img_convert/1ee4c3203e25ae6025714a3a6d778b42.png)
MasaFramework
的Ddd
项目和基本模板的差异也很明显
Cqrs&Ddd
:
![ae8f655139c160bb3736be711b4447c0.png](https://img-blog.csdnimg.cn/img_convert/ae8f655139c160bb3736be711b4447c0.png)
Cqrs&Ddd
集成了Cqrs
和Ddd
俩个项目模板的特性,是一个稍微复杂的框架
项目使用
如果你想使用MasaFramework
的话,可以将Masa Pro
的模板和MasaFramework
的模板结合起来一块使用
![b47feba89a465bca1ae895eee75f2455.png](https://img-blog.csdnimg.cn/img_convert/b47feba89a465bca1ae895eee75f2455.png)
这个是我目前使用到MasaFramework
的项目,Web是将Pro
的模板嵌入进来,并进行修改,当前项目还在完善,这也是我第一个接触MasaFramework
实践的项目,因为符合我需要的,体积小,依赖少。
结尾
来着token的分享
技术交流群:737776595
MasaFramework
学习地址:[MASA Framework](https://docs.masastack.com/framework/getting-started/overview "MASA Framework")