ASP.NET Core 實戰:使用 ASP.NET Core Web API 和 Vue.js 搭建前後端分離項目

来源:https://www.cnblogs.com/danvic712/archive/2018/12/18/10124871.html
-Advertisement-
Play Games

一、前言 這幾年前端的發展速度就像坐上了火箭,各種的框架一個接一個的出現,需要學習的東西越來越多,分工也越來越細,作為一個 .NET Web 程式猿,多瞭解瞭解行業的發展,讓自己擴展出新的技能樹,對自己的職業發展還是很有幫助的。畢竟,現在都快到9102年了,如果你還是只會 Web Form,或許還是 ...


 一、前言

   這幾年前端的發展速度就像坐上了火箭,各種的框架一個接一個的出現,需要學習的東西越來越多,分工也越來越細,作為一個 .NET Web 程式猿,多瞭解瞭解行業的發展,讓自己擴展出新的技能樹,對自己的職業發展還是很有幫助的。畢竟,現在都快到9102年了,如果你還是只會 Web Form,或許還是能找到很多的工作機會,可是,這真的不再適應未來的發展了。如果你準備繼續在 .NET 平臺下進行開發,適時開始擁抱開源,擁抱 ASP.NET Core,即使,現在工作中可能用不到。
  雪崩發生時,沒有一片雪花是無辜的,你也不會知道那片雪花,會引起最後的雪崩。有些自說自話,見諒。

  系列目錄地址:ASP.NET Core 項目實戰
  倉儲地址:https://github.com/Lanesra712/Grapefruit.VuCore

 二、Step by Step

  在整個的開發過程中,後端應用使用 Visual Studio 2017 進行開發,對於前端項目,則是使用 Visual Studio Code 進行開發,嗯,使用專業的工具做相應的事。對於前端的 Vue 項目,我採用的是 Vue CLI 來進行構建的,當然,巨硬也為我們準備了一套 Vue 的模板,如何使用的方法可以在附錄中進行查看。

  1、項目開發環境搭建

  1.1、安裝 .NET Core

  .NET Core 與之前的 .NET Framework 不一樣,它不再緊緊的耦合在 Windows 系統上了,因此,我們可以在支持的操作系統上以安裝軟體的形式安裝我們的 .NET Core 開發環境。

  打開官網的下載頁面(.NET Downloads),找到 .NET Core,這裡因為我們需要在當前環境進行開發,所以需要安裝 .NET Core SDK,下載完成後,一路 Next 即可。

  當我們安裝完成後,打開控制台,輸入命令,則會顯示出我們本機安裝的 .NET Core 版本。

dotnet --info ## 或者使用 dotnet --version 查看本機安裝的 .NET Core 版本信息

  在 .NET Core 中為我們提供了 .NET Core CLI 這一工具使我們使用命令行的方式創建我們的 .NET Core 應用,這裡我們還是使用 VS 來創建我們的應用,有興趣的朋友,可以看看園子里的這篇文章 =》.NET Core dotnet 命令大全

  1.2、安裝 Node.js & Vue CLI

  在整個前後端分離的項目的搭建中,前端的 Vue 項目,是使用 Vue CLI 3 進行搭建的腳手架項目,而 Vue CLI 本質上是一個全局安裝的 npm 包,通過安裝這一 npm 包可以為我們提供終端里的 vue 命令,因此我們需要使用這一腳手架工具的前提,則是需要我們安裝 Node.js 環境。
  打開 Node.js 官網(Node.js),選擇長期支持版下載,之後一路 Next 下去即可。目前的 Node.js 安裝包中已經包含了 npm,因此,我們安裝好 Node.js 即可。npm 可以類比於我們 .NET 平臺的 Nuget,而預設我們安裝的全局組件和緩存預設是在 C:\Users\用戶名\AppData\Roaming 下,如果你想修改緩存的地址或者全局安裝的包地址則需要自己配置環境,具體可參考 =》Node.js安裝及環境配置之Windows篇

  PS:Vue CLI 3 需要 Node.js 8.9 或更高版本 (推薦 8.11.0+)。

  當 Node 環境安裝好之後,我們就可以安裝 Vue CLI 3 腳手架工具了,如果你之前已經全局安裝了舊版本的 vue-cli (1.x 或 2.x),則需要先卸載舊版本的 Vue CLI。

npm uninstall vue-cli -g ## 卸載 vue-cli (1.x or 2.x)
npm install -g @vue/cli

  安裝之後,我們就可以在命令行中使用 vue 命令。

vue ## 查看 vue 相關幫助信息
vue --version ## 查看安裝的 vue cli 版本信息

  1.3、安裝 Git

  為代碼添加版本控制是必須的,它可以詳細的記錄你的每一次操作,以及當你的某次作死導致的環境出錯時,你可以很快的恢復環境。經常作死的表示,這個巨需要。
        Git 作為一個分散式的版本控制系統,與 SVN 這種集中式的版本控制系統不同,我們的本地倉庫不僅包含了我們的代碼,還包含了每個人對代碼的操作歷史 log,而 SVN 的歷史操作記錄只存在於中央倉庫中。
        這樣有什麼好處呢?假如,某天中央倉庫出錯了需要重新創建,因為我們本地的代碼不包含操作歷史 log,你只能把代碼重新放置到中央倉庫,而文件的歷史版本卻丟失了。如果使用 Git 進行版本控制的話,因為我們本地的倉庫是一個完整的包含歷史操作記錄的倉庫,我們就可以毫無差別的重新搭建一個中央倉庫。
        Git 方面的學習教程,可以看看廖雪峰大神寫的這一系列的教程 =》Git 教程
        打開 Git 官網(Git)下載安裝包安裝,一路 Next 即可。安裝完成後,開始菜單里出現 Git Bash 這個應用,則說明我們的 Git 已經安裝成功了。安裝 Git 之後,我們需要設置我們的名字以及 Email,從而表明我們的身份,這裡使用 Git Bash 設置即可。

git config --global user.name "Your Name" ## 全局設置用戶名
git config --global user.email "[email protected]" ## 全局設置郵箱

  2、應用整體框架搭建

  當我們安裝好項目開發的環境之後就可以搭建我們的項目框架了,這裡我選擇將前後端的項目放到同一個 Git 倉儲中,你也可以根據你自己的喜好放到多個 Git 倉儲中。
  新建一個文件夾作為倉儲,在創建好的文件夾路徑下打開 Git Bash,初始化我們的倉儲。如果你勾選了顯示隱藏文件夾,則會發現,當我們執行好初始化的命令之後,則會在當前文件夾下創建一個 .git 文件夾。

git init

  當然,你也可以使用 VS 進行創建 Git 倉儲,使用 VS 創建倉儲後會自動幫我們創建 .gitignore 和 .gitattributes 文件,同樣的,後續對於該倉儲的任何 Git 操作,我們也可以通過 VS 進行。
  gitignore 文件表示我們需要忽略的文件或目錄,而 gitattribute 則用於設置非文本文件的對比方式,這裡我們使用 VS 創建 Git 倉儲後生成的 gitignore 文件預設會添加 .NET 項目需要忽略提交的文件和目錄。因為,前端的項目我是使用 VS Code 進行開發的,這裡,我需要將一些 VS Code 生成的文件也添加到 gitignore 文件中。

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

  創建 ASP.NET Core Web API 的具體過程就不演示了,這裡採用的就是基礎的多層架構,當我們創建好項目之後,可以看到 VS 右下角鉛筆 icon 處會顯示我們未做提交的修改。點擊 icon ,輸入我們的提交信息後,就可以將我們的修改提交到倉儲中。

  後端的 API 介面應用創建好了,現在我們使用 Vue CLI 來構建我們前端的 Vue 項目。這裡,我選擇在解決方案的根目錄創建我們的前端項目。
  在 Vue CLI 3 中,我們不僅可以使用 vue create 命令來創建我們的項目,而且可以使用圖形化的頁面創建我們的應用。

vue create project-name ## 使用命令行的形式創建
vue ui ## 使用圖形化的方式創建

  

  當使用 vue ui 命令後會自動打開創建項目的頁面,可以看到,這個路徑下,並沒有創建好的項目,你可以選擇從別的路徑下導入,或者是直接創建新的項目。如果你有使用過 Vue CLI 之前的版本,使用大寫字母創建項目時是會報錯的,但是在 Vue CLI 3 版本中沒有出現這種問題。

  因為我將前端項目與後端的項目放到同一個倉儲中,所以這裡就不需要再進行初始化 git 倉庫了,對於項目的配置,這裡就採用預設的配置。點擊創建之後就會自動搭建我們的項目。如何啟動這個腳手架項目,可以按照生成的 README 文件中的步驟執行。

  到這裡,基礎的 Vue 腳手架項目就已經搭建完成了,對於添加插件之類的內容,放到我們後面的內容中。另外,雖然我們在創建項目時並沒有勾選初始化 Git 倉儲,但是 Vue CLI 還是創建了一個 gitignore 文件,如果你和我一樣,是將前後端項目放到一個倉儲的話,可以把這個文件里的內容複製到項目根目錄中的 gitignore 文件中,然後把這個文件刪除。

 三、附錄

   微軟官方有提供一套 Vue 的 SPA 應用模板,不過並沒有顯示在我們使用 VS 創建項目的頁面中,而且需要我們添加一個插件之後,使用 .NET Core CLI 的方式創建。因為自己並沒有詳細瞭解這塊的內容,這裡只列出創建的方法,詳細的介紹請查看微軟的官方文檔(Building Single Page Applications on ASP.NET Core with JavaScriptServices )。

## 安裝 SPA 模板
dotnet new --install Microsoft.AspNetCore.SpaTemplates::*

  當你安裝好模板之後,可以看到,多了使用 Aurelia、Vue、Knockout 創建 SPA 模板的選項,這時我們就可以使用 dotnet new 命令來創建包含 Vue 的模板應用。模板創建完成後需要安裝依賴的包。載入完依賴的包之後,我們就可以通過 VS 或 VS Code 開發調試我們的項目。

dotnet new vue ## 創建 Vue SPA 項目
npm install ## 還原依賴的 npm 包

 四、總結

   這一章沒有包含很多的內容,主要就是如何搭建我們的 .NET Core 和 Vue 的開發環境,以及創建我們的項目架構,在後面的文章中則會慢慢的闡述整個項目的開發過程,希望可以能對你有一丟丟的幫助。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • php+ajax實現登錄按鈕載入loading效果,一個提高用戶體驗,二個避免重覆提交表單,ajax判斷載入是否完成。 ...
  • 這篇文章為spring回顧總結的第二篇,本篇主要分為兩個部分,分別是spring的bean工廠的實現.spring的aop實現原理,這兩部分也是面試當中問的比較多的. spring的bean工廠的實現 spring的bean工廠的實現可以有以下三種方式 1. 靜態工廠實現 配置文件: 2. 實例工廠 ...
  • 1.初識面向對象 面向過程: 一切以事物的發展流程為中心 面向對象: 一切以對象為中心.一切皆為對象.具體的某一個事務就是對象 打比方: 大象進冰箱 步驟:第一步:開門, 第二步:裝大象,第三:關門 面向對象: 大象,進冰箱 , 此時主語是大象,我操縱的是大象,此時的大象就是對象 2.類,對象 類: ...
  • javaSE(java standard Edition):標準版,定位在個人電腦上的應用。 javaEE(java Enterprise Edition):企業版,定位在伺服器端的應用。*********************************** javaME(java Micro E ...
  • flash的一般分區: print(可縮寫為:pri):列印查看uboot這個軟體中集成的環境變數setenv、saveenv:設置、保存環境變數 如:設置環境變數: setenv abc 100刪除環境變數: setenv abc保存環境變數到存儲器:saveenv abc 100網路層的設置: ...
  • 前言: 環境:centos7.5 64 位 正文: 拉取 microsoft/dotnet, 安裝完畢後執行 docker images 可以看到本地已經包含 microsoft/dotnet 使用 docker run 鏡像名 可以啟動鏡像,通過指定參數 it 以交互模式(進入容器內部)啟動。依次 ...
  • Host startup hook,是2.2中提供的一項新的功能,通過使用主機啟動鉤子,允許開發人員在不修改代碼的情況下,在服務啟動之前註入代碼;通過使用鉤子,可以對已部署好的服務在服務啟動期間自定義托管程式的行為;通過使用鉤子,可以對服務進行跟蹤或者遙測,也可以在服務啟動前對托管環境進行健康檢查;... ...
  • " 【.NET Core項目實戰 統一認證平臺】開篇及目錄索引 " 上篇文章介紹了基於 客戶端授權的原理及如何實現自定義的客戶端授權,並配合網關實現了統一的授權異常返回值和許可權配置等相關功能,本篇將介紹密碼授權模式,從使用場景、源碼剖析到具體實現詳細講解密碼授權模式的相關應用。 .netcore項目 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...