兄弟们,人生需要指引,而复制是成功最快的方式,让我们开始行动吧

——codesoft

教程介绍

ABP-Vnext框架我们之前摸了无数次,好象初恋的女孩,一直在靠近,一直在努力,一直不敢盯着她的眼睛说:美女,我很喜欢你,能不能一起吃个饭!我们都喜欢自己变得足够的优秀之后,才敢说这句话。结果三年就过去了。我想搞技术也是这样,我一直都把ABP-Vnext框架当做心目中的女神,一直不敢碰。现在,让我们勇敢地把代码拉到本地来,看看到底怎么样。

这个教程没有别的特点,我就是想保证一点:足够清晰和简单,每个人看了,都能够一步一步做出来,完全重现整个过程,完全了解ABP-Vnext所有特点,让ABP-Vnext从女神到女友。

第一步:项目安装

我们要进入官方网站进入入门教程:https://docs.abp.io/zh-Hans/abp/latest/Getting-Started-Setup-Environment?UI=BlazorServer&DB=EF&Tiered=No



跟其他官方教程不一样的是在这里你真的能够学习到进阶实用的开发技术,不象其他的官方教程就象是个广告和敷衍,上次进入谷歌的开发教程页面就是。还有些官方教程你学完了,也完全是懵逼的,拉拉杂杂边边角角的讲,超链接四五层页面,跟逗你玩似的,这个以微软和ORACLE文档为最,关键是微软和ORACLE你看了三四遍每句话都是汉语,却不知道到底是什么意思,大量的名词术语你听都没有听过。还有些官方教程跟网上搞培训的教你CI/CD一样,手写中间件,很牛叉很高大上,一键测试部署监控,老开心了,感觉都会了,可是你一动手就痛苦了,还有十分之九的内容你得自己摸索。当然,再详细的官方教程,我们还需要查资料摸索和踩坑。

设置你的开发环境

第一件事! 在创建项目之前, 让我们先设置你的开发环境.

先决条件

开发计算机上应安装以下工具:

  • 一个集成开发环境 (比如: Visual Studio) 它需要支持 .NET 8.0+ 的开发.

    • Yarn v1.20+ (不是v2) 1 或 npm v6+ (已跟随Node一起安装)

1 Yarn v2 工作方式不同, 不被支持.

node必须安装,因为我们前端开发需要node的支持,所以这个是必须的。.NET 8.0+安装了VS2022会默认安装,Yarn暂时可以不装,后边需要的时候再装也比较容易。



安装yarn:

npm install -g yarn

yarn --version

安装 ABP CLI

ABP CLI 是一个命令行界面, 用于自动执行基于 ABP 的解决方案的一些常见任务. 首先, 你需要使用以下命令安装 ABP CLI:

dotnet tool install -g Volo.Abp.Cli

如果已安装, 则可以使用以下命令对其进行更新:

dotnet tool update -g Volo.Abp.Cli

第二步:创建新项目

我们将使用 ABP CLI 创建一个新的 ABP 项目.

或者, 你可以使用ABP Framework 网站页面上的选项轻松的 创建并下载 项目.

使用 ABP CLI 的 new 命令创建一个新项目:

abp new Acme.BookStore -u blazor-server

你可以使用不同级别的命名空间, 例如: BookStore、Acme.BookStore或 Acme.Retail.BookStore.

小技巧就是我们先创建好我们的开发文件夹,譬如我把开发文件夹创建在G盘



然后在文件夹窗口输入CMD回车,再输入后边咱们要用到的各种CMD命令。



有没有兄弟,跟我去年一样,都不知道CMD命令和Linux命令在哪里输入执行的,总感觉到处都是高大上的技术,到处都是咱们需要仰望的女神,在办公室搞的提心吊胆,面红耳赤,惴惴不安。生怕同事接开水路过自己电脑旁边,看到自己偷摸打开的一把百度搜索的页面。

第三步:运行程序

创建数据库

在这里我需要提醒大家的是,官方教程提醒我们需要修改连接字符串,但是我看了项目中的连接字符串是可以运行的,.dbMigator和.Blazor两个项目里边的数据库连接字符串我们都不需要动,先把代码运行起来,后边开发需要的时候,我们再修改连接字符串不急,这样会简单很多。

连接字符串

检查在 .Blazor 项目 中 appsettings.json 文件里的连接字符串.

"ConnectionStrings": { "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True" }

关于连接字符串和数据库管理系统

解决方案配置为默认使用 Entity Framework Core 与 MS SQL Server. 但是, 如果在执行ABP CLI 的new命令时使用了-dbms参数来选择其他DBMS (如-dbms MySQL), 那么连接字符串可能不同.

EF Core 支持 多种 据库提供程序, 因此你可以使用任何受支持的DBMS. 你可以需要时候参阅Entity Framework 集成文档 来学习如何切换到另一个DBMS.

数据库迁移

.dbMigator 应用程序在首次运行时自动创建初始迁移.

如果你使用的是 Visual Studio, 你可以跳到 运行 dbMigrator 部分. 但是, 其他 IDE (例如 Rider) 在首次运行时可能会遇到问题, 因为它会添加初始迁移并编译项目. 在这种情况下, 请在 .dbMigration 项目的文件夹中打开命令行终端, 然后运行以下命令:

dotnet run

下次, 你可以像往常一样在 IDE 中运行它.

运行迁移

右键单击 .dbMigration 项目, 然后选择 设置为启动项目

找到这个项目,设置为启动项,然后运行:

按F5(或Ctrl + F5) 运行应用程序. 它将具有如下所示的输出:



正常运行了数据库迁移项目之后,数据库和实例数据应该就建立起来了。

运行应用程序

确保 .Blazor 项目是启动项目. 运行应用程序将会在浏览器中打开 login 页面:

在 Visual Studio 中使用 Ctrl+F5(而不是F5) 在不进行调试的情况下运行应用程序. 如果你没有调试目的, 这会更快.

再次把.Blazor项目设置为启动项目,好见证奇迹的时刻到了:



输入用户名 admin 和 密码 1q2w3E* 登录应用程序. 应用程序已启动并正在运行. 你可以根据此启动模板开始开发应用程序.登录后,就进入系统了:



是不是很简单,看懂的兄弟们在公屏上敲个666!

后续步骤:

第二步:我们要从数据层、业务逻辑层、前端界面层进行一个功能模块的开发,从而掌握整个框架的开发应用,能够熟练应用这个框架进行项目功能模块的定制开发。这也是我们学习这个框架的目的。

第三步:我们即使知道了如何使用这个框架,可能对于框架背后的原理还是没有深入的了解。那么后边我们就是需要对ABP -Vnext框架背后的原理,有所了解,这样基本上可以做到在知道怎么使用框架开发的同时,还知道为什么可以这么做。再然后你也可以整合别的开源项目优化这个框架。

任务很艰巨,前景很美好!

因为艰巨,所以美好,

因为艰巨,才能带美女烤串!

一起加油!

ABP -Vnext框架一步一步入门落地教程——ABP Vnext框架代码安装和启动(一)的更多相关文章

  1. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  2. Sagit.Framework For IOS 开发框架入门开发教程2:一行代码实现引导页

    前言: 开篇比较简单:Sagit.Framework For IOS 开发框架入门开发教程1:框架下载与环境配置 第二篇教程之前写了一半,感觉不太好写,而且内容单纯介绍API,要说的很多,又枯燥乏味. ...

  3. ASP.NET Aries 入门开发教程1:框架下载与运行

    背景: 鉴于框架的使用者越来越多,文档太少,不少用户反映框架的入门门槛太高. 好吧,再辛苦下,抽时间写教程吧! 步骤1:下载框架源码 开源地址:https://github.com/cyq1162/A ...

  4. 微信公众平台入门开发教程.Net(C#)框架

    一.序言 一直在想第一次写博客,应该写点什么好?正好最近在研究微信公众平台开发,索性就记录下,分享下自己的心得,也分享下本人简单模仿asp.net运行机制所写的通用的微信公众平台开发.Net(c#)框 ...

  5. Sagit.Framework For IOS 开发框架入门开发教程1:框架下载与环境配置

    背景: 前天开源了框架:开源:Sagit.Framework For IOS 开发框架 所以注定要追补一套开发教程了,所以尽量抽空了!!! 步骤 1:下载框架源码 GitHub:https://git ...

  6. 《VR入门系列教程》之18---Oculus代码剖析

    代码剖析 原文作者:Tony Parisi     那么,Unity究竟是如何支持Oculus VR运行的?首先,我们来看看Unity场景是如何构建的.在Unity集成开发包中有一个相机预设体,这个预 ...

  7. Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  8. Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  9. Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  10. Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

随机推荐

  1. 『Java 语法基础』面向对象有哪些特性

    面向对象编程(OOP) 是一个将现实世界抽象为一系列对象的编程范式,这些对象通过消息传递机制来互相交流和协作. OOP 的主要特性包括四个基本概念:封装(Encapsulation).继承(Inher ...

  2. Zabbix与乐维监控对比分析(四)——告警管理篇

    在前面发布的Zabbix与乐维监控对比分析文章中,我们评析了二者在架构与性能.Agent管理.自动发现.权限管理.对象管理等方面的差异.接下来让我们一起看看二者在告警管理方面的差异. 告警管理是所有I ...

  3. Temporary notepad

    20230412 快速帮助手册 很牛的风格 https://devhints.io/vue 印记中国 https://docschina.org/ 前台本地存储数据 兼容 https://github ...

  4. debian在使用Thunderbird时英文改为中文

    sudo apt-get install thunder* 随后重启应用!

  5. 封装TornadoFx常用控件库

    github:https://github.com/Stars-One/common-controls 为TornadoFx的封装的常用控件与工具,基于Jfoenix,借鉴Kfoenix 前言 这个开 ...

  6. Linux 运维工程师面试真题-2-Linux 命令及文件操作

    Linux 运维工程师面试真题-2-Linux 命令及文件操作 1.在/tmp/目录下创建 test.txt 文件,内容为: Hello,World! ,用一个命令写出来. 2.给 test.txt ...

  7. .NET Core使用 CancellationToken 取消API请求

    您是否曾经访问过一个网站,它需要很长时间加载,最终你敲击 F5 重新加载页面. 即使用户刷新了浏览器取消了原始请求,而对于服务器来说,API也不会知道它正在计算的值将在结束时被丢弃,刷新五次,服务器将 ...

  8. Spring Boot学习日记13

    学习引入Thymeleaf Thymeleaf 官网:https://www.thymeleaf.org/ Thymeleaf 在Github 的主页:https://github.com/thyme ...

  9. Kotlin 协程基础使用学习

    原文: Kotlin 协程基础使用学习-Stars-One的杂货小窝 本篇阅读可能需要以下知识,否则可能阅读会有些困难 客户端开发基础(Android开发或JavaFx开发) Java多线程基础 ko ...

  10. 记录--虚拟 DOM 和实际 DOM 有何不同?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 本文我们会先聊聊 DOM 的一些缺陷,然后在此基础上介绍虚拟 DOM 是如何解决这些缺陷的,最后再站在双缓存和 MVC 的视角来聊聊 ...