[Vue 牛刀小試]:第十六章 - 針對傳統後端開發人員的前端項目框架搭建

来源:https://www.cnblogs.com/danvic712/archive/2019/07/14/11183192.html
-Advertisement-
Play Games

一、前言 在之前學習 Vue 基礎知識點的文章中,我們還是採用傳統的方式,通過在 html 頁面上引用 vue.js 這個文件,從而將 Vue 引入到我們的項目開發中。伴隨著 Node.js 的出現,以及 React、Angular、Vue 這類的前端 MVVM 框架的發展,前端越來越像後端靠攏,前 ...


 一、前言

  在之前學習 Vue 基礎知識點的文章中,我們還是採用傳統的方式,通過在 html 頁面上引用 vue.js 這個文件,從而將 Vue 引入到我們的項目開發中。伴隨著 Node.js 的出現,以及 React、Angular、Vue 這類的前端 MVVM 框架的發展,前端越來越像後端靠攏,前端工程化的思想開始出現。現在的前端開發,已經不再只是一個 html 頁面,上面引用各種 js、css 文件就可以完成開發的了。

  與後端類似,前端開始出現各種已經很完善的框架模板、開始出現針對前端組件包的管理工具、各種各樣的單元測試庫,以及針對前端所特有的 js、css、image...這種靜態資源文件的模塊打包器。那麼,從本篇文章開始,我們就從零開始,結合之前學習的 Vue 相關的基礎知識,通過 Vue CLI 和 Element UI 去搭建一個基於 Vue 的 SPA 前端項目框架模板。

  系列目錄地址:https://www.cnblogs.com/danvic712/p/9549100.html

  倉儲地址:https://github.com/Lanesra712/Grapefruit.VuCore/tree/master/app/grapefruit.ui

 二、乾貨合集

  Vue CLI 是一個基於 Vue.js 進行快速開發的完整系統框架,它是一個框架生成腳手架工具,可以幫助我們生成基於 Vue 的前端框架模板,我們可以在這個基礎上進行基於 Vue 的前端開發。你可以把它理解為我們 .NET 平臺中微軟所提供的各種基礎的開發框架模板,就像 ASP.NET Core Web API 或者是 ASP.NET Core MVC 這一類的基礎框架,我們可以在這個框架模板上進行開發,從而開發出具有統一標準、規範化的項目。

   Element UI 則是餓了麽基於 Vue.js 所做的一套前端組件庫,你可以把它理解成類似於 Boostrap 或是 EasyUI 這種前端的 UI 庫基於 Vue 中組件的思想所實現的前端庫。通過使用這套組件庫,我們就可以更好地統一整個項目的前端樣式以及更加方便的進行開發。當然,你也可以採用別的組件庫或是自己手寫一套。

  1、安裝

  在使用 Vue CLI 之前,我們首先需要安裝這個組件包,你可以通過 npm 或是 yarn 的方式進行安裝,當然,前提是你需要在你的電腦上安裝好 Node.js。整個安裝的過程很簡單,你可以從我之前寫的 ASP.NET Core 實戰:使用 ASP.NET Core Web API 和 Vue.js,搭建前後端分離框架 這篇文章中來查看如何安裝 Node.js 和 Vue CLI。

  如果你安裝已經完成,我們就可以通過命令行或是腳手架自帶的項目管理頁面去搭建一個屬於你的 Vue 前端項目框架模板,這裡我就選擇命令行的方式進行創建項目。當然,在創建項目前我們需要通過命令來查看組件包的安裝是否正確。你可以通過下麵的命令去檢查安裝是否正確,當控制台輸出版本信息後,則代表你的組件包已經成功安裝了。

vue --version ## 查看安裝的 vue cli 版本信息

  2、初始化項目

  當我們安裝完成後,我們就可以通過命令行去創建一個前端項目模板。首先,進入你需要創建項目的路徑下,打開終端,然後使用下麵的命令來創建我們的項目。因為某些原因,連接 npm 源的速度可能會比較慢,所以在創建項目時,Vue CLI 會提示我們是否將淘寶的鏡像源添加 npm 中,從而加快我們訪問的速度,你可以自由選擇。

# vue create 項目名稱
vue create grapefruit.ui

  此時,從控制臺中可以看到給出了兩個選項,第一項為系統預設的項目模板配置,而第二項則是我們可以自己選擇我們的項目模板需要載入什麼前端組件。這裡,我們選擇第二項,自己來決定載入什麼組件。

  在選擇前端組件時,我們可以通過上下方向鍵進行切換,通過空格鍵進行選擇,當決定好項目載入的組件後,我們可以通過 Enter 鍵來進行確定。在這個模板項目中,我添加了上圖所示的五個組件,你可以根據自己的需求進行按需載入。每個組件的基本功能介紹如下。

  Babel:這是一個 JavaScript 轉碼器,當我們使用新的語法時,舊版本的瀏覽器可能就無法支持這種新的語法,通過 Babel,我們就可以添加不同的轉換規則,從而就可以自動的將新版本的語法糖轉換成傳統的 JavaScript 語法。

  TypeScript:它提供了一些 JavaScript 不支持的強語言特性,例如,類、介面、參數類型約束等等,它使 JavaScript 寫起來更像我們的 C# 或是 Java 這種強類型語言,當然最終還是會編譯成 js 文件從而讓瀏覽器識別出。

  PWA:漸進式的 Web 應用,主要是利用提供的標準化框架,在網頁應用中實現和原生應用相近的用戶體驗,讓用戶以為自己正在使用的是原生應用,微信的小程式其實就可以看成是一種 PWA 應用的載體。

  Router:這個大家應該很熟悉了,在前面的文章中我們也有介紹過,是 Vue 官方的路由管理組件。

  Vuex:一個 Vue.js 中的狀態管理模式,這裡的狀態可以簡單理解為數據。因為在使用 Vue 的開發中,我們會編寫各種組件,有些時候,多個組件之間需要共用相同的數據,以及,各個組件之間的數據傳遞也比較複雜,所以我們需要一個集中式的狀態管理器從而更好的管理數據,方便組件之間的通信。

  CSS Pre-processors:CSS 的預處理器,可以讓我們以一種編程的方式來寫 CSS 文件,當然最終它們都會被編譯器編譯成標準 css 文件。

  Linter / Foramtter:代碼格式檢查和格式化工具,主要是為了讓我們的項目中寫的代碼可以更好的採用統一的風格。

  Unit Testing / E2E Testing:單元測試工具

 

  當我們選擇好需要載入的組件後,就可以繼續了。因為我們載入了 Vue Router,所以這裡我們需要對前端路由的模式進行設定,這裡我們繼續使用 history 路由模式。

  之後,我們需要選擇一個 CSS 的預處理器,根據你自己的使用習慣選擇即可。

  因為之前有載入 ESLint 代碼格式化組件,所以這裡我們需要載入格式化和代碼風格的規則,這裡我選擇的是 Airbnb 的規範,你可以自己選擇其他的,當然你也可以編寫出屬於你自己的代碼規範。

  執行 ESLint 檢查的時間節點,這裡我全部勾選上。同時,如果你和我一樣使用的是 VS Code 進行開發的話,你可以安裝 ESLint 插件,這樣在編寫代碼時,就會自動提示出不符合規範的代碼。

  載入的這些組件,需要一個配置文件進行配置,你可以選擇全部放到 package.json 中,也可以選擇將每個組件的配置單獨放到一個配置文件中。這裡我選擇一個組件一個配置文件。

  最後一步,是否保存這次的設置,如果保存的話,下次在創建項目時就可以直接使用了。

  然後,慢慢等待項目依賴的組件載入完成,這一步的快慢,取決你的網速和人品,請坐和放寬。

  當所有的依賴載入完成後,系統提示我們進入到項目路徑,然後執行 npm run serve 命令。

  當我們執行 npm 命令後,可以看到項目已經運行起來了,我們可以打開瀏覽器進行查看,當出現下麵的頁面時,恭喜你,項目的基礎模板已經搭建的差不多了。

  項目的基礎模板已經可以正常運行了,現在我們就可以將 Element UI 添加到我們的項目中。餓了麽為 Vue CLI 3 準備了相應的模板插件,所以這裡我們就可以直接通過命令來載入 Element 插件到我們的項目中。

vue add element

  因為整個項目會基於 Element 的組件進行搭建,所以這裡我們直接選擇全局引入;對於預設的樣式,這裡我們不做任何的修改,之後選擇簡體中文。當插件安裝完成後,我們可以重新運行我們的項目進行查看。可以看到,頁面上已經添加了一個 Element UI 中的按鈕組件。

  當 Element UI 安裝完成後,餓了麽官方也有針對 VS Code 的插件,所以這裡我們也可以安裝,從而更便捷在項目開發中使用到 Element 中的組件。

  同時,作為一個完整的項目,我們需要與採用 ASP.NET Core Web API 開發的後端進行數據交互,所以我們需要添加 axios 這個組件庫,這裡我們使用 npm 安裝即可。至此,我們的項目的基礎框架模板就已經創建完成了。

npm install axios

 三、總結

    這一章主要是學習如何通過 Vue CLI 3 和 Element UI 去搭建一個基礎的前端項目。在下一篇文章中,我將參考文章最後列出的參考文章和 vue-admin-template 這個模板對我們的項目進行調整,從而適應我們自己的開發習慣。

 四、參考

  1、從0到1搭建Element的後臺框架

  2、vue-cli3 項目從搭建優化到docker部署

  3、一張圖教你快速玩轉vue-cli3

  4、手摸手,帶你用vue擼後臺 系列四(vueAdmin 一個極簡的後臺基礎模板)


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

-Advertisement-
Play Games
更多相關文章
  • 錯誤原因:mysql資料庫只允許本地ip訪問; 解決方法:修改mysql表設置所有ip都可以訪問; 登錄資料庫 使用以下命令: 查看是否修改成功 ...
  • 一、通過命令查看mysql是否是區分大小寫的 lower_case_table_names=1(說明是不區分大小寫的) lower_case_table_names=0(如上圖為0說明區分大小寫的) 二、修改lower_case_table_names的值為1 (1)我用的是寶塔面板所以直接修改配置 ...
  • 背景圖:(相關驗證代碼請查看代碼,在驗證時需將當前不需要驗證的代碼註釋掉) 1.inherit:從父元素繼承屬性設置 2.background-repeat:平鋪(在圖片大小小於元素尺寸時背景圖預設平鋪): no-repeat:取消預設平鋪 repeat-x:橫向平鋪 repeat-y:縱向平鋪 3 ...
  • 本文從JS是單線程開始,到JS為了提高效率,使用非同步,到JS如何實現非同步,再到瀏覽器是如何配合JS執行非同步。最後提到了一個任務隊列的優先順序問題。 ...
  • 學習本姿勢需要電腦裝有node,vue-cli相關環境,以及要有node,express,koa,vue相關基礎 本文相關demo的github地址: 一 Graphql概述 它是什麼?從哪裡來?要乾什麼? 簡單地講,對於前端,它就是讓你舒舒服服發請求的 嚴格的說,它是一種api設計思想,用來取代r ...
  • 最近在準備專升本,抽一點時間敷衍一下大家!!!嘿嘿嘿!!! 話不多說,上代碼: [註]在正則表達式中,^ 在 [] 中代表否定,在這個練習中意思就是:只要不是 ^ 和 數字,當鍵盤輸入抬起後,會自動替換為沒有,現象即自動會退回 放假了,也要抽點時間學習呀~~~~ ...
  • 前言:關於 JS 中為數組定義的迭代方法,我最開始是在《JavaScript高級程式設計》中學習的,然後。。。我並沒有看懂,後來翻閱各個大佬的博客,稍微理解了那麼一丟丟。以下就是我的一點見解。 首先,我們需要知道數組中的迭代方法都有哪些,列舉出來分別是:every、some、filter、map、f ...
  • 思路分析: 在angularJS中,我們可以使用ng-checked="expression()"來設置覆選框的狀態;當expression()返回true時,該覆選框為選擇中狀態,反之為非選中狀態; 實現步驟: 1.在baseController.js中編寫代碼如下:(由於該方法使用頻率較高,所以 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...