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系统(一) 让程序跑起来的更多相关文章

  1. 网站迁移纪实:从Web Form 到 Asp.Net Core (Abp vNext 自定义开发)

    问题和需求 从2004年上线,ZLDNN.COM运行已经超过16年了,一直使用DotNetNuke平台(现在叫DNN Platform),从最初的DotNetNuke 2.1到现在使用的7.4.先是在 ...

  2. 用abp vNext快速开发Quartz.NET定时任务管理界面

    今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发.大伙最好跟着一起敲一下代码,当然源码 ...

  3. [Abp vNext 源码分析] - 2. 模块系统的变化

    一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 I ...

  4. [Abp vNext 源码分析] - 4. 工作单元

    一.简要说明 统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理. 在 ABP vNext 框架当中,工作单元被独立出来作为一 ...

  5. 尝试从零开始构建我的商城 (一) :使用Abp vNext快速一个简单的商城项目

    尝试从零开始构建我的商城 (一) :使用Abp vNext快速搭建一个简单的项目 前言 GitHub地址 https://github.com/yingpanwang/MyShop 此文目的 本文将尝 ...

  6. net开源cms系统

    .net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,. ...

  7. 基于jeesite的cms系统(四):使用Beetl模版引擎在后端渲染数据

    一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验. ...

  8. 新能力 | 云开发CMS内容管理系统,5分钟搞定小程序管理后台

    小程序·云开发的云调用能力,让用户可以免鉴权快速调用微信的开放能力,极大节约了开发成本.现在,大家期待已久的云开发 CMS 内容管理系统,终于上线啦!顺便提示,接下来还可以二次开发哦! 云开发 CMS ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目

    首先,默认咱们已经有了.net core 3.1的开发环境,如果你没有,快去下载... https://dotnet.microsoft.com/download 由于项目是基于abp vNext开发 ...

随机推荐

  1. 【Go语言入门系列】(八)Go语言是不是面向对象语言?

    [Go语言入门系列]前面的文章: [Go语言入门系列](五)指针和结构体的使用 [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? 1. Go是面向对象的语言吗? 在[ ...

  2. Android开发之封装log打印日志的工具类,实用logutils详细代码

    public final class LogUtil { /** all Log print on-off */ private final static boolean all = true; /* ...

  3. AOP理论

    目录 AOP理论 什么是AOP 那Spring AOP,AspectJ又是啥呢? 为什么说AOP是OOP的补充和完善呢? 应用场景举例 AOP的优点 AOP的术语整理 AOP理论 什么是AOP AOP ...

  4. 让mvn打包时跳过Junit测试

    原来在使用命令 “mvn clean package” 发生了测试报错,说是几个testcase出现问题了. 另一方催jar得紧,于是用 命令 “mvn package -DskipTests”,只让 ...

  5. Java8 :lambda表达式初体验

    package lambda; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import j ...

  6. Oracle的dbms_random.value(min,max)函数包括边界值吗?数据是如何分布的?

    事先申明下,我的DB环境是Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production,不保证在其它版本下也 ...

  7. leetcode刷题-69x的平方根

    题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4输出: 2 思 ...

  8. 蓝奏网盘API

    蓝奏云网盘API 2.0 基于Python3实现,最强的蓝奏云API~ 蓝奏云注册 更新说明 修复了登录时 formhash 错误的问题 解决了多次上传大文件被限制的问题 #3 细化 API 接口的功 ...

  9. ansible中定义变量的若干方法

    Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...

  10. 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图

    一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...