基於 abp vNext 和 .NET Core 開發博客項目 - 使用 abp cli 搭建項目

首先,默認我們已經有了.net core 3.1的開發環境,若是你沒有,快去下載... https://dotnet.microsoft.com/downloadreact

因爲項目是基於abp vNext開發的,因此開發以前建議去擼一遍abp官方文檔,https://docs.abp.io/en/abp/latest/git

建立項目有不少種方式:github

  • 第一種,純手擼,使用vs手動建立新項目
  • 第二種,藉助abp模板直接傻瓜式下載,地址:http://abp.io/get-started
  • 第三種,abp cli(推薦)

abp cli

abp cli是使用ABP框架啓動新解決方案的最快方法,那麼前提是你要安裝啊。react-native

dotnet tool install -g Volo.Abp.Cli緩存

若是你的版本比較低,使用下面命令進行更新框架

dotnet tool update -g Volo.Abp.Cli工具

1

更多使用方法,請參考 https://docs.abp.io/en/abp/latest/CLI測試

abp new

終於進入主題了,使用命令優化

abp new <solution-name> 建立博客項目.net

2

默認會生成兩個項目,一個aspnet-core,一個react-native。暫時幹掉不須要項目吧,雖然react-native也很香,可是如今先忽略它。

而後將aspnet-core文件夾下全部文件剪切至咱們的根目錄,因而就變成下面這個樣子。

3

至此,基於abp cli建立項目完成,用VS2019打開看看吧。

此時整個目錄結構是這樣嬸的~

blog_tutorial
 ├── common.props
 ├── Meowv.Blog.sln
 ├── Meowv.Blog.sln.DotSettings
 ├── src
 │   ├── Meowv.Blog.Application
 │   ├── Meowv.Blog.Application.Contracts
 │   ├── Meowv.Blog.DbMigrator
 │   ├── Meowv.Blog.Domain
 │   ├── Meowv.Blog.Domain.Shared
 │   ├── Meowv.Blog.EntityFrameworkCore
 │   ├── Meowv.Blog.EntityFrameworkCore.DbMigrations
 │   ├── Meowv.Blog.HttpApi
 │   ├── Meowv.Blog.HttpApi.Client
 │   └── Meowv.Blog.Web
 └── test
     ├── Meowv.Blog.Application.Tests
     ├── Meowv.Blog.Domain.Tests
     ├── Meowv.Blog.EntityFrameworkCore.Tests
     ├── Meowv.Blog.HttpApi.Client.ConsoleTestApp
     ├── Meowv.Blog.TestBase
     └── Meowv.Blog.Web.Tests

因爲是基於abp開發,全部默認的項目幫咱們引用了一些很是強大可是咱們用不到或者不想用的功能,進一步優化項目結構,刪掉不要的引用,美化美化。

  • 先幹掉test文件夾吧,項目剛搭建測試個毛毛啊?幹掉不表明測試不重要
  • 幹掉Meowv.Blog.sln.DotSettings,目前來講沒啥亂用
  • 添加了一個LICENSE
  • 再添加一個README.md文件
  • 再添加一個.github文件夾,請暫時忽略它,這個是GitHub Action所需
  • 幹掉src\Meowv.Blog.DbMigrator,有Meowv.Blog.EntityFrameworkCore.DbMigrations就夠了
  • 幹掉src\Meowv.Blog.HttpApi.Client
  • 在src目錄下新增項目Meowv.Blog.Application.Caching,用來處理應用服務緩存
  • 在src目錄下新增項目Meowv.Blog.BackgroundJobs,用來處理後臺定時任務
  • 在src目錄下新增項目Meowv.Blog.Swagger,這裏用來編寫Swagger擴展、Filter等
  • 在src目錄下新增項目Meowv.Blog.ToolKits,這裏放公共的工具類、擴展方法
  • 修改項目名稱Meowv.Blog.Web爲Meowv.Blog.HttpApi.Hosting,爲了完美同時也能夠去修改一下文件夾的名稱哦
  • 在解決方案中新建解決方案文件夾solution-items,而後編輯Meowv.Blog.sln文件,修改Meowv.Blog.Web爲Meowv.Blog.HttpApi.Hosting,再新增如下代碼
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution-items", "solution-items", "{731730B9-645C-430A-AB05-3FC2BED63614}"
      ProjectSection(SolutionItems) = preProject
            .gitattributes = .gitattributes
            .gitignore = .gitignore
            common.props = common.props
            LICENSE = LICENSE
            README.md = README.md
      EndProjectSection
EndProject

如今整個項目變成了下面這個樣子

blog_tutorial
 ├── common.props
 ├── LICENSE
 ├── Meowv.Blog.sln
 ├── README.md
 └── src
     ├── Meowv.Blog.Application
     ├── Meowv.Blog.Application.Caching
     ├── Meowv.Blog.Application.Contracts
     ├── Meowv.Blog.BackgroundJobs
     ├── Meowv.Blog.Domain
     ├── Meowv.Blog.Domain.Shared
     ├── Meowv.Blog.EntityFrameworkCore
     ├── Meowv.Blog.EntityFrameworkCore.DbMigrations
     ├── Meowv.Blog.HttpApi
     ├── Meowv.Blog.HttpApi.Client
     ├── Meowv.Blog.HttpApi.Hosting
     ├── Meowv.Blog.Swagger
     └── Meowv.Blog.ToolKits

編譯一下,所有生成成功,到這裏算是用abp cli成功搭建一個屬於本身的項目,而且還作了響應的調整。

4

本章只是搭建了項目,後面將逐一分解,期待嗎,騷年?

開源地址:https://github.com/Meowv/Blog/tree/blog_tutorial

相關文章
相關標籤/搜索