ABP-Book Store Application中文讲解 - 前期准备 - Part 2:创建Acme.BookStore + Angular
ABP-Book Store Application中文讲解-汇总-CSDN博客
因为本系列文章使用的.NET8 SDK,此处仅介绍如何使用abp cli + .NET 8 SDK + SQL sevrer 2014创建Angular模板的Acme.BookStore。
目录
1. ABP cli创建项目
1.1 打开cmd.exe
1.2 创建项目
2. ABP Studio创建项目
2.1. File --> New Solution
2.2 选择Application (Layered)
2.3 Solution Properties设置项目名称和存储目录
2.4 UI Framework --> Angular
2.5 Database Provider选择EF Core或者MongoDB
2.6 DB Confugurations
2.7 Multi-Tenancy多租户选择
2.8 选择UI Theme
2.9 选择Mobile Framework
2.10 Public website, Optional Modules, Solution Structure
2.11 Additional Options
2.12 创建成功
3. 附录:ABP Cli Commands
3.1 创建Angular模板项目
3.2 其他模板
. ABP cli创建项目
全局安装最新版abp cli. 目前最新版(Volo.Abp.Studio.Cli)是基于.NET 9 SDK的,但是.NET 9 SDK不是LTS版本,推荐使用安装基于.NET 8的指定版本(Volo.Abp.Cli)。
dotnet tool install --global Volo.Abp.Cli --version 8.1.0
安装abp clij具体步骤可以参考 ABP-Book Store Application中文讲解 - 前期准备 - Part 1:开发环境搭建-CSDN博客中的3.2 安装Volo.Abp.Cli.
1.1 打开cmd.exe
Tips:
如果你想将创建的项目存储在指定的目录,此处可以通过在cmd.exe中指向你的目录
--output-folder C:\MyProjects\Acme.BookStore
,或者使用如下方式:
1. 打开你想要保存的项目的文件夹
2. 将鼠标定位到目录
3. 直接输入cmd,敲回车后,cmd的默认路径就是当前打开的目录
1.2 创建项目
在cmd.exe中输入以下命令,敲回车。
abp new Acme.BookStore -t app -u angular -m none --separate-auth-server --database-provider ef -csf
等执行结束后,会有如下显示,另外还会自动打开创建成功后的提示页面。
2. ABP Studio创建项目
安装成功后,可以打开ABP Studio,然后根据以下步骤一步一步进行创建。
因为本人用的是免费版本,所以有些模板使用不了。
ABP Stuio的安装过程很长,因为需要安装一堆依赖项,有时候依赖性回安装失败。就类似我下面截图所示。此时你可以点击Yes进行安装。然后你会看到哪些依赖项未安装,并按照提示进行手动安装(点击Show Error可以查看推荐的解决方法)。
点击Show error可以获取解决方法:
关于mkcert可以暂时忽略。
2.1. File --> New Solution
2.2 选择Application (Layered)
2.3 Solution Properties设置项目名称和存储目录
2.4 UI Framework --> Angular
2.5 Database Provider选择EF Core或者MongoDB
此处选择EF Core
2.6 DB Confugurations
根据自己的需要选择数据库类型和更改Connection String,更改完成后需要点击“Test Connection”验证数据哭是否可以正常链接。
数据库类型支持很多,可以根据自己的需要选择。本文使用SQL Server。
2.7 Multi-Tenancy多租户选择
因为是免费版本,勾选Enable Multi-Tenance是将所有不同的Tenant保存在同一个数据库,通过TenantId进行区分(即登录的时候可以选择不同的tenant)。 如果是Team版本或者更改版本则支持将不同的Tenant保存在不同的数据库。另外可以通过配置项禁用或者启用Multi-Tenancy如果你此处勾选的Enable Multi-Tenance。
2.8 选择UI Theme
此处选择LeptopX Lite
2.9 选择Mobile Framework
此处选择None。
2.10 Public website, Optional Modules, Solution Structure
Public website, Optional Modules, Solution Structure都是Team license及以上,此处直接点击Next到最后一步 Additional Options。
2.11 Additional Options
Additional Options提供单元测试,集成测试和示例代码的选项。
可以勾选Sample CRUD Page和Include Tests,然后点击Create等待结束。
2.12 创建成功
创建成功后如下显示:
3. 附录:ABP Cli Commands
所有ABP Cli的命令可以参考官网:
ABP CLI | ABP.IO Documentation
此处仅介绍常用的几个命令:
help
: Shows help on the usage of the ABP CLI.
abp help [command-name]
例如:
abp help # Shows a general help.
abp help new # Shows help about the "new" command.
cli
: Update or remove ABP CLI.new
: 这个是核心的命令,用于根据ABP提供的模板创建不同的项目模板,更多详情可参阅: startup templates.
abp new <solution-name> [options]
例如:
abp new Acme.BookStore
Acme.BookStore是项目名称,项目名称的命名规则如下:
YourCompany.YourProject
或者
YourProject
或者
YourCompany.YourProduct.YourModule
你可以根据不同的模板创建自己熟悉的项目。
3.1 创建Angular模板项目
The following commands are for creating Angular UI projects:
-
Entity Framework Core, no mobile app, creates the project in a new folder:
abp new Acme.BookStore -u angular --mobile none --database-provider ef -csf
-
Entity Framework Core, default app template, separate Auth Server, creates the project in a new folder:
abp new Acme.BookStore -t app -u angular -m none --separate-auth-server --database-provider ef -csf
-
Entity Framework Core, custom connection string, creates the project in a new folder:
abp new Acme.BookStore -u angular -csf --connection-string "Server=localhost;Database=MyDatabase;Trusted_Connection=True"
-
MongoDB, default app template, mobile project included, creates solution in
C:\MyProjects\Acme.BookStore
abp new Acme.BookStore -u angular --database-provider mongodb --output-folder C:\MyProjects\Acme.BookStore
-
MongoDB, default app template, no mobile app, separate Auth Server, creates the project in a new folder:
abp new Acme.BookStore -t app -u angular -m none --separate-auth-server --database-provider mongodb -csf
-
No DB migration!, the DB migration will not be generated
abp new Acme.BookStore -u angular --skip-migrations --skip-migrator
3.2 其他模板
更多模板可以参考: https://abp.io/docs/latest/cli/new-command-samples
相关文章:

ABP-Book Store Application中文讲解 - 前期准备 - Part 2:创建Acme.BookStore + Angular
ABP-Book Store Application中文讲解-汇总-CSDN博客 因为本系列文章使用的.NET8 SDK,此处仅介绍如何使用abp cli .NET 8 SDK SQL sevrer 2014创建Angular模板的Acme.BookStore。 目录 1. ABP cli创建项目 1.1 打开cmd.exe 1.2 创建项目 2. ABP Studio创建项…...

基于k8s的Jenkins CI/CD平台部署实践(三):集成ArgoCD实现持续部署
基于k8s的Jenkins CI/CD平台部署实践(三):集成ArgoCD实现持续部署 文章目录 基于k8s的Jenkins CI/CD平台部署实践(三):集成ArgoCD实现持续部署一、Argocd简介二、安装Helm三、Helm安装ArgoCD实战1. 添加Arg…...
Starrocks 的 ShortCircuit短路径
背景 本文基于 Starrocks 3.3.5 本文主要来探索一下Starrocks在FE端怎么实现 短路径,从而加速点查查询速度。 在用户层级需要设置 enable_short_circuit 为true 分析 数据流: 直接到StatementPlanner.createQueryPlan方法: ... OptExpres…...
JVM——Java字节码基础
引入 Java字节码(Java Bytecode)是Java技术体系的核心枢纽,所有Java源码经过编译器处理后,最终都会转化为.class文件中的字节码指令。这些指令不依赖于具体的硬件架构和操作系统,而是由Java虚拟机(JVM&…...

控制台打印带格式内容
1. 场景 很多软件会在控制台打印带颜色和格式的文字,需要使用转义符实现这个功能。 2. 详细说明 2.1.转义符说明 样式开始:\033[参数1;参数2;参数3m 可以多个参数叠加,若同一类型的参数(如字体颜色)设置了多个&…...

外网访问内网海康威视监控视频的方案:WebRTC + Coturn 搭建
外网访问内网海康威视监控视频的方案:WebRTC Coturn 需求背景 在仓库中有海康威视的监控摄像头,内网中是可以直接访问到监控摄像的画面,由于项目的需求,需要在外网中也能看到监控画面。 实现这个功能的意义在于远程操控设备的…...
DA14585墨水屏学习(2)
一、user_svc2_wr_ind_handler函数 void user_svc2_wr_ind_handler(ke_msg_id_t const msgid,struct custs1_val_write_ind const *param,ke_task_id_t const dest_id,ke_task_id_t const src_id) {// sprintf(buf2,"HEX %d :",param->length);arch_printf("…...

Linux系统下的延迟任务及定时任务
1、延迟任务 概念: 在系统中我们的维护工作大多数时在服务器行对闲置时进行 我们需要用延迟任务来解决自动进行的一次性的维护 延迟任务时一次性的,不会重复执行 当延迟任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者 在 RH…...
Spark 之 YarnCoarseGrainedExecutorBackend
YarnCoarseGrainedExecutorBackend executor ID , 在日志里也有体现。 25/05/06 12:41:58 INFO YarnCoarseGrainedExecutorBackend: Successfully registered with driver 25/05...

【网络原理】数据链路层
目录 一. 以太网 二. 以太网数据帧 三. MAC地址 四. MTU 五. ARP协议 六. DNS 一. 以太网 以太网是一种基于有线或无线介质的计算机网络技术,定义了物理层和数据链路层的协议,用于在局域网中传输数据帧。 二. 以太网数据帧 1)目标地址 …...

相或为K(位运算)蓝桥杯(JAVA)
这个题是相或为k,考察相或的性质,用俩个数举例子,011001和011101后面的数不管和哪个数相或都不可能变成前面的数,所以利用这个性质我们可以用相与运算来把和k对应位置的1都积累起来,看最后能不能拼起来k如果能拼起来k那…...

AI汽车时代的全面赋能者:德赛西威全栈能力再升级
AI汽车未来智慧出行场景正在描绘出巨大的商业图景,德赛西威已经抢先入局。 在2025年上海车展开幕前夕,德赛西威发布2030年全新使命愿景——“创领安全、愉悦和绿色的出行生活”,并推出全栈式智慧出行解决方案Smart Solution3.0、车路云一体式…...
Python函数:从基础到进阶的完整指南
在Python编程中,函数是构建高效、可维护代码的核心工具。无论是开发Web应用、数据分析还是人工智能模型,函数都能将复杂逻辑模块化,提升代码复用率与团队协作效率。本文将从函数基础语法出发,深入探讨参数传递机制、高阶特性及最佳实践,助你掌握这一编程基石。 一、函数基…...

学习Python的第四天之网络爬虫
30岁程序员学习Python的第四天之网络爬虫的Scrapy库 Scrapy库的基本信息 Scrapy库的安装 在windows系统中通过管理员权限打开cmd。运行pip install scrapy即可安装。 通过命令scrapy -h可查看scrapy库是否安装成功. Scrapy库的基础信息 scrapy库是一种爬虫框架库 爬虫框…...

5、开放式PLC梯形图编程组件 - /自动化与控制组件/open-plc-programming
76个工业组件库示例汇总 开放式PLC编程环境 这是一个开放式PLC编程环境的自定义组件,提供了一个面向智能仓储堆垛机控制的开放式PLC编程环境。该组件采用苹果科技风格设计,支持多厂商PLC硬件,具有直观的界面和丰富的功能。 功能特点 多语…...
数据指标和数据标签
数据指标和数据标签是数据管理与分析中的两个重要概念,它们在用途、形式和应用场景上有显著区别。以下是两者的详细对比: 1. 核心定义 维度数据指标(Data Metrics)数据标签(Data Tags/Labels)定义量化衡量…...

linux中常用的命令(三)
目录 1- ls(查看当前目录下的内容) 2- pwd (查看当前所在的文件夹) 3- cd [目录名](切换文件夹) 4- touch [文件名] (如果文件不存在,新建文件) 5- mkdir[目录名] (创建目录) 6-rm[文件名]&…...

Java 中 AQS 的实现原理
AQS 简介 AQS(全称AbstractQueuedSynchronizer)即抽象同步队列,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。 由类图可以看到,AQS是一个FIFO的双向队列,其内部通过节点head和tail记录队首和队尾元素࿰…...

『Python学习笔记』ubuntu解决matplotlit中文乱码的问题!
ubuntu解决matplotlit中文乱码的问题! 文章目录 simhei.ttf字体下载链接:http://xiazaiziti.com/210356.html将字体放到合适的地方 sudo cp SimHei.ttf /usr/share/fonts/(base) zkfzkf:~$ fc-list | grep -i "SimHei" /usr/local/share/font…...
docker compose ps 命令
docker compose ps 命令用于列出与 Docker Compose 项目相关的容器及其状态。 docker compose ps 能显示当前项目中所有服务容器的运行状态、端口映射等信息。 语法 docker compose ps [OPTIONS] [SERVICE…] SERVICE(可选):指定要查看状态…...
redis数据结构-04 (HINCRBY、HDEL、HKEYS、HVALS)
哈希操作:HINCRBY、HDEL、HKEYS、HVALS Redis 中的哈希功能极其丰富,让您能够以类似于编程语言中对象的方式存储和检索数据。本课将深入探讨具体的哈希操作,这些操作为操作以下结构中的数据提供了强大的工具: HINCRBY 、 HDEL 、…...

鸿蒙知识总结
判断题 1、 在http模块中,多个请求可以使用同一个httpRequest对象,httpRequest对象可以复用。(错误) 2、订阅dataReceiverProgress响应事件是用来接收HTTP流式响应数据。(错误) 3、ArkTS中变量声明时不需要…...
Ubuntu 22虚拟机【网络故障】快速解决指南
Ubuntu22虚拟机突然无法连接网络了,以下是故障排除步骤记录。 Ubuntu 22虚拟机网络故障快速解决指南 当在虚拟机中安装的 Ubuntu 22 系统出现 ping: connect: 网络不可达 和 ping: www.baidu.com: 域名解析出现暂时性错误的报错时,通常意味着虚拟机无法…...

C++23 新特性:深入解析 std::views::join_with(P2441R2)
文章目录 std::views::join_with 基本用法处理字符串集合std::views::join_with 与其他视图的结合使用总结 随着C23标准的逐步推进,我们迎来了许多令人兴奋的新特性,其中之一就是 std::views::join_with。这个新特性是C23中引入的视图适配器,…...
购物车构件示例
通用购物车构件设计 注:代码仅用于演示原理,不可用于生产环境。 一、设计目标 设计一个高度可复用的购物车构件,具备以下特点: 与具体业务系统解耦支持多种应用场景(商城、积分系统等)提供标准化接口易于集成和扩展二、核心架构设计 1. 分层架构 ┌─────────…...

数据可视化大屏——智慧社区内网比对平台
综述分析: 智慧社区内网数据比对信息系统 这段代码实现了一个智慧社区内网数据比对信息系统的前端界面,采用三栏式布局展示各类社区安全相关数据。界面主要由左侧数据统计、中间地图展示和右侧数据分析三部分组成,使用了多种图表可视化技术…...
详解SLAM中的李群和李代数(中)
1 概述 在上一篇文章《详解SLAM中的李群和李代数(上)》中,我们已经通过对李群求导引出了李代数。在这篇文章中,我们就系统总结一下李代数的相关知识。 2 李代数 2.1 定义 李代数是一个向量空间 g \mathfrak{g} g与一个二元运算…...

Jenkins企业级实战
目标 在Windows操作系统上使用Jenkins完成代码的自动拉取、编译、打包、发布工作。 实施 1.安装Java开发工具包(JDK) Jenkins是基于Java的应用程序,因此需要先安装JDK。可以从Oracle官网或OpenJDK下载适合的JDK版本。推荐java17版本&#x…...

uniapp-商城-52-后台 商家信息(商家信息数据,云对象使用)
1、概述 已经通过好几个篇幅来说明商家信息,包括logo、商家名称,地址,电话以及商家简介。通过表单组件和标签,以及我们的文件上传标签,都做了说明。(logo上传,用的文件上传组件是上传到公共的数…...

MySQL 索引设计宝典:原理、原则与实战案例深度解析
目录 前言第一章:索引设计的基础原则 (知其然,更要知其所以然)第二章:实战案例:电商订单系统的索引设计第三章:索引设计的实践流程总结结语 🌟我的其他文章也讲解的比较有趣😁,如果喜…...