使用.NET Core和Vue.js构建的通用后台管理框架

发表时间: 2020-08-23 19:59

随着.NET Core生态的日渐繁荣,国内优秀的后台管理框架也渐渐多了起来,而这次我推荐的是NetModular这个开源框架,它是基于.Net Core + Vue.js 的模块化快速开发解决方案。

在之前的文章中,我提过了BCVP开源框架,与NetModular相比,可以说是各有千秋,都非常值得研究,它们有一个共同点,都基于最新的.NET Core技术和Vue.js,还有Element-UI,比较大的区别是ORM框架的选择这块,BCVP使用了SqlSugar,NetModular使用了Dapper,这两个ORM框架在业界都拥有非常好的口碑,都是高性能ORM的代表。

就目前国内.NET Core + Vue的前后端分离框架,我觉得BCVP和NetModular是做的较为领先的。随着.NET Core生态的不断发展,日后必将会有更多好的的开源项目,例如.NET Core +Ant Design,或者.NET Core + Blazor之类,估计很快就会出现。还有一种趋势就是从单体版走向微服务,如Java生态的若依框架,既有单体版本、前后端分离版本,还有微服务版本,我觉得.NET Core开源的后台管理框架日后发展的目标应该也是这样的。开源不易,过程是曲折的,结果是伟大的。

NetModular的开发环境

IDE

Visual Studio 2019+、Visual Studio Code

后端

.Net Core 3.1、Dapper、Serilog、AutoMapper、FluentValidation、Swagger

前端

Node.js 10+、Vue.js 2.6+、Vue CLI、Vuex、VueRouter、Element-UI

NetModular特性

模块化

以模块化为思想,以业务领域为理念,以包管理(nuget\npm)为基础,充分解耦业务功能,使业务最大化的得到复用,极大减少重复开发时间。

简单易用

完善的基础设施,包括简单易用高效的ORM、日志组件(Serilog)、对象映射(AutoMapper)、Api文档(Swagger)、缓存(MemoryCachge/Redis)、强类型验证(FluentValidation)、消息(RabbitMQ)、任务调度(Quartz)等功能模块,用什么注入即可。

内置ORM

基于Dapper封装的轻量级ORM,支持多种数据库自由切换,内置CRUD、软硬删除、Lamdba表达式查询、多表连接查询、分组查询、跨库连接查询、日期分库分表以及自定义分表策略,提供多个常用实体基类和对应功能,如自动设置创建人、创建日期、修改人、修改日期、删除人、删除日期等功能

多种应用模式

提供多种应用模式,包括Host.Web(Web应用)、Host.Generic(控制台应用)、Host.Electron(基于Electron的跨平台客户端应用)三种模式,三种模式共用同一套底层代码。

前端框架

采用前后端分离模式以及JWT验证方式,基于Vue.js全家桶以及Element-UI组件库实现了一整套模块化的解决方案,封装了数十种组件,完善的权限管理功能以及灵活的可配置性

开箱即用

提供通用权限管理(Admin)、基础数据(Common)、任务调度(Quartz)、代码生成(CodeGenerator)等模块,开箱即用,让您专注于自己的业务开发。

目睹一下NetModular项目的源码目录

项目源码提供了非常多实用的类库,如Cache、Quartz等,代码下载完后,一次性编译通过,数据库也是按照默认,无需设置,非常方便(感觉作者在这块考虑的非常周到)。

选中“WebHost”项目直接启动,会启动一个控制台,并且同时打开一个swagger/index.html页面,如果看到swagger页面,则证明后台接口服务启动成功(我没有做任何配置改动,站点就能够运行成功,基本是零配置)。

后台接口服务运行成功后,接下来就是运行前端项目( NetModular项目是前后端分离的)项目位于NetModular\src\Admin\UI\module-admin目录下面:

使用VisualStudio Code打开,运行命令npm install下载依赖包,然后运行npm install serve即可启动系统的后台:

管理后台运行后的界面:

结语:.NetModular是非常优秀的模块化开发通用后台解决方案,使用了很多优秀的设计理念,可扩展性强,非常适合想研究.NET core和vue.js的朋友们。

如果你对NetModular项目源码感兴趣,可以关注+转发,然后私信回复“nm”,源码发你。