macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来——2020年10月5日

国庆假期,陪老婆的同时也不能忘记给自己充充电,这不想搞个CMS系统,考虑自己的时间并不多,所以想找一套相对成熟的框架来快速开发,码云上找了几个开源项目,感觉都是别人的东西,机缘巧合下,决定使用之前一直没时间用的ABP框架。

选ABP的几点理由:

  • “DRY——避免重复代码”是一个优秀的开发者在开发软件时所具备的最重要的思想之一,而ABP就帮你完成了几乎所有系统开发都需要做的事情,例如登录、用户&角色、权限、国际化等。让你只需要为你的业务添砖加瓦,而不必再去造轮子。
  • 集成了许多高品质、大型软件的最佳实践,例如分层体系结构、领域驱动设计、依赖注入等技术。数据层采用ORM、数据库迁移(Database Migrations)、日志记录(Logging)等工具。
  • 集成了Redis、MangoDb等内存数据库。
  • 客户端可选Angular,号称最适合后端开发人员使用的前端框架,并对其深度集成了常用工具和基础框架。

项目地址暂时没有放,大家可以关注我的个人码云地址https://gitee.com/w9

项目名称:LionCMs(起名字实在是太困难,真的是拍脑袋,我的英文名是Leo,狮子座,狮子,恩...就Lion吧。莱恩,oh..不是dota里死亡一指的那位?)

进入官网选择模板

https://aspnetboilerplate.com/Templates/

macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

 注:不要勾选One Solution,挺坑的,前后端都塞一个解决方案里。

下载完解压

后端生成

用VisualStudio打开 /LionCms/aspnet-core/LionCms.sln ,他会自动还原NuGet包。

完了之后在Web.Host项目里找到appsettings.json里找到ConnectionStrings节点下的Default,修改为你的数据库连接字符串。

然后我这里就挺坑了,我使用的是VisualStudio For Mac,已经没有程序包管理控制台了,需要使用终端还原。

首先查看自己的.Net EF环境

dotnet ef

macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

出现这个EF小马的图标说明环境正确。不然就需要安装环境了。参考:微软EF官网文档

好的接下来就是拷贝LionCms.EntityFrameworkCore项目地址,终端输入CD 【你拷贝的项目地址】

cd /Users/leo-chen/Documents/Work/CodeWarehouse/LionCms/aspnet-core/src/LionCms.EntityFrameworkCore

可以先看一下帮助文档

dotnet ef database -h

好了看完了我们直接来更新数据库

dotnet ef database update

如果我们的数据库一切正常则会进行Migrations的还原。

macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

如果我要数据库表结构有更新就重新运行这个代码就可以了;

如果我觉得里面有一些脏数据,不想用整套数据库了。也可以删除了重新再来

dotnet ef database drop

提示是否删除按y回车就可以了。

数据库还原了就可以直接运行后端程序了。设置启动项为LionCms.Web.Host,点击运行。

生成成功后默认地址 http://localhost:21021/swagger/index.html

macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

前端生成

前端使用VS Code打开,第一次打开可能会出现一些推荐的插件,都安装即可,号称史上最强插件库的插件怎么能不装呢。安装完之后各种颜色各种提示,还是比较清晰的。

前提要安装完nodeJs,找到终端输入npm install

npm install

安装完所有的依赖包就可以生成运行拉。

npm run start

运行之后在浏览器打开 http://localhost:4200/

 macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

默认初始账号密码是 admin 123qwe

macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来-LMLPHP

进入主页还是比较OK的,而且默认已经提供了几大主要功能。

本次运行总体来说还是有几个小坑 不过都解决了。下期正式开始写业务,敬请期待。

10-05 13:14