macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来
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/

注:不要勾选One Solution,挺坑的,前后端都塞一个解决方案里。
下载完解压
后端生成
用VisualStudio打开 /LionCms/aspnet-core/LionCms.sln ,他会自动还原NuGet包。
完了之后在Web.Host项目里找到appsettings.json里找到ConnectionStrings节点下的Default,修改为你的数据库连接字符串。
然后我这里就挺坑了,我使用的是VisualStudio For Mac,已经没有程序包管理控制台了,需要使用终端还原。
首先查看自己的.Net EF环境
dotnet ef

出现这个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的还原。

如果我要数据库表结构有更新就重新运行这个代码就可以了;
如果我觉得里面有一些脏数据,不想用整套数据库了。也可以删除了重新再来
dotnet ef database drop
提示是否删除按y回车就可以了。
数据库还原了就可以直接运行后端程序了。设置启动项为LionCms.Web.Host,点击运行。
生成成功后默认地址 http://localhost:21021/swagger/index.html

前端生成
前端使用VS Code打开,第一次打开可能会出现一些推荐的插件,都安装即可,号称史上最强插件库的插件怎么能不装呢。安装完之后各种颜色各种提示,还是比较清晰的。
前提要安装完nodeJs,找到终端输入npm install
npm install
安装完所有的依赖包就可以生成运行拉。
npm run start
运行之后在浏览器打开 http://localhost:4200/

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

进入主页还是比较OK的,而且默认已经提供了几大主要功能。
本次运行总体来说还是有几个小坑 不过都解决了。下期正式开始写业务,敬请期待。
macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来的更多相关文章
- 网站迁移纪实:从Web Form 到 Asp.Net Core (Abp vNext 自定义开发)
问题和需求 从2004年上线,ZLDNN.COM运行已经超过16年了,一直使用DotNetNuke平台(现在叫DNN Platform),从最初的DotNetNuke 2.1到现在使用的7.4.先是在 ...
- 用abp vNext快速开发Quartz.NET定时任务管理界面
今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发.大伙最好跟着一起敲一下代码,当然源码 ...
- [Abp vNext 源码分析] - 2. 模块系统的变化
一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 I ...
- [Abp vNext 源码分析] - 4. 工作单元
一.简要说明 统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理. 在 ABP vNext 框架当中,工作单元被独立出来作为一 ...
- 尝试从零开始构建我的商城 (一) :使用Abp vNext快速一个简单的商城项目
尝试从零开始构建我的商城 (一) :使用Abp vNext快速搭建一个简单的项目 前言 GitHub地址 https://github.com/yingpanwang/MyShop 此文目的 本文将尝 ...
- net开源cms系统
.net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,. ...
- 基于jeesite的cms系统(四):使用Beetl模版引擎在后端渲染数据
一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验. ...
- 新能力 | 云开发CMS内容管理系统,5分钟搞定小程序管理后台
小程序·云开发的云调用能力,让用户可以免鉴权快速调用微信的开放能力,极大节约了开发成本.现在,大家期待已久的云开发 CMS 内容管理系统,终于上线啦!顺便提示,接下来还可以二次开发哦! 云开发 CMS ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目
首先,默认咱们已经有了.net core 3.1的开发环境,如果你没有,快去下载... https://dotnet.microsoft.com/download 由于项目是基于abp vNext开发 ...
随机推荐
- 借助FRP反向代理实现内网穿透
一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...
- 不要再学 JSP 了,学 SpringBoot + Thymeleaf + Vue吧
老读者就请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 读 ...
- 使用服务进程启动asp.net core程序
昨天在PuTTY中启动了测试网站,因为时间太晚,看到效果,立马关机睡觉,刚上床又想看看手机端访问效果,结果一打开,发现nginx找不到页面,意识到应该是退出PuTTY导致进程结束,于是今天赶紧查了解决 ...
- vmware虚拟机Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)详解
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...
- Android java程序员必备技能,集合与数组中遍历元素,增强for循环的使用详解及代码
Android java程序员必备技能,集合与数组中遍历元素, 增强for循环的使用详解及代码 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 For ...
- Mc小冰总结的Android开发工程师面试题以及答案,android程序员必备,详解
1.请谈一下Android系统的架构. 答:Android系统采用了分层架构,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 2.谈谈android大众常用的五种布局. ...
- 集成react-native-image-picker时,报错Couldn't get file path for photo
1. 版本环境: "react": "16.13.1", "react-native": "0.63.2", " ...
- 什么是Nginx -九五小庞
- C++中的输入输出
update&fixed: 经过实测,io解绑在各大oj以及本地评测软件上都劣于scanf 所以在大数据的情况下还是推荐尽量使用scanf! ! ! ! 众所周知,C++自带了各种输入方式 比 ...
- Activiti7 组任务
需求:在流程定义中在任务节点的assignee固定设置任务负责人,这种情况不是很好,如果有天任务负责人请假了,你想请假,等着吧..没人审批,针对这种情况,可以给任务设置多个候选人,可以从候选中选择参与 ...