從零開始搭建一個規範的vue-cli 3.0項目

来源:https://www.cnblogs.com/zhangnan35/archive/2019/04/13/10697812.html
-Advertisement-
Play Games

在這一集我們將講到如何從安裝vue-cli開始,到新建一個本地項目,再到vscode中關於eslint的配置,以及本地項目關聯公司遠程項目的基本操作。 一,初始化本地項目 1,首先,全局安裝vue-cli 3.0 2.檢查vue-cli的版本,確定是3.0以上 3,新建一個叫question-edi ...


在這一集我們將講到如何從安裝vue-cli開始,到新建一個本地項目,再到vscode中關於eslint的配置,以及本地項目關聯公司遠程項目的基本操作。

 

一,初始化本地項目

1,首先,全局安裝vue-cli 3.0

 

2.檢查vue-cli的版本,確定是3.0以上

 

3,新建一個叫question-editor的本地項目,註意這裡的配置,預設置選擇手動,勾選必要的Babel,Router,CSS預處理器,Linter格式化工具。不選擇歷史模式,CSS預處理器的選擇看個人喜好,SCSS和Less其實語法區別不大,而ESLint的配置選擇airbnb(在eslint的官方地址中star數高居第一,遠超prettier和standard的存在),選擇在保存時自動lint,獨立放置配置文件,即可等待其初始化完成。

  (順便吐槽一下,在windows系統中的git bash方向鍵有問題,所以這裡才用回自帶的powershell來建項目)

  說一下歷史模式這個問題,關於歷史模式和哈希模式的區別不僅僅是有沒有#號這麼簡單,歷史模式還帶來了關於二級菜單刷新出現404,重定向等問題,而哈希模式在url中僅僅是多了一個#號,就可以避免歷史模式的所有缺陷,以及提供低版本瀏覽器甚至是ie的支持!所以在此牆裂不推薦使用歷史模式。

 

二,在vscode中配置eslint

1,首先,我的vscode一開始在插件方面以及設置方面如下,可以看到是非常簡單的,插件只有一個漢化工具、代碼提交者追查工具、代碼特效工具、.vue文件語法高亮工具。而在setting.json中,僅僅是配了顏色主題、shell終端、代碼煙花特效而已。

 

2.拋棄vetur格式化功能。

  在這個時候,如果我們在一個vue文件中,書寫一些代碼如下,會發現是可以格式化的。

            

  如果你對eslint的airbnb有所瞭解,那麼你一定知道它有兩條大名鼎鼎的規矩:第一,字元串必須為單引號;第二,函數語句不必加分號。

  而在我們執行完格式化後(快捷鍵Alt+Ctrl+F),這兩個規矩都被破壞了,產生這種現象的原因是vscode預設是不支持vue文件的格式化,而Vetur插件自帶了格式化工具。所以在vue文件中執行格式化操作的時候 ,先在vscode自身找格式化工具,找不到就到插件中找,然後在Vetur裡面找到了,然後執行Vetur自帶的格式化標準。

  而Vetur的格式化標準叫做prettier,這玩意跟airbnb標準是不太一樣的。可以在設置中驗證這一點。

  

  所以我的建議是,Vetur就僅僅是作為一個語法高亮工具,能給vue文件上點顏色,就行了。至於代碼格式化這件事情,就不要來參與。在設置中把Vetur的“特權”給禁掉。

  

3.讓所有的格式化工作都交給eslint插件去完成。

  然後就可以安裝eslint插件,安裝這承載著全項目格式化希望的關鍵插件。

  

  安裝完成後,我們需要配置一下eslint的validate(也就是eslint在哪兒生效),setting.json更改如下:

       

  現在來試試效果:

                     

  哦對了,在windows還會遇到Expected linebreaks to be 'LF' but found 'CRLF'這個問題,這是因為不同的操作系統對於換行符的定義不同,windows是回車換行(CR+LF),而在Linux和Unix中是簡單換行(LF),預設為LF。至於換行這件事情,不止和操作系統有關,有時候不同的編輯器也可能導致換行符的問題,而這些所謂的“換行問題”並不會反映到代碼中,你根本看不著這東西,所以在eslintrc.js中,把換行檢測關閉就可以了。

  

 

三,線上對接項目(GitLab)

  1,在GitLab中新建一個項目,這時候會發現,項目名稱會帶有個人用戶名首碼:

  

  這當然是不科學的,因為我在新建的是一個公司的項目,而不是個人項目,出現這種尷尬的現象是因為在GitLab群組中,分為三個角色:

  Owner(群主,擁有所有許可權) -->Maintainer(管理員,可以新建組內項目)--> Developer(開發者,只負責開發);

  好吧,我是Developer,所以我去找了個Maintainer同事來幫我建項目

  

  現在項目已經被同事建好了,我現在要做的就是把本地倉庫和遠程倉庫進行關聯。

  複製一下項目的ssh key,回到本地項目看看本地的狀態。

  

  把遠程倉庫與本地倉庫相關聯的命令是git remote add origin <一個項目的ssh地址>,而第一次推的時候加上-u參數是為了把本地master分支與遠程master分支相關聯,有關git的更多內容請移步至廖大大的官網,這裡不詳細講各種git操作了,附上地址:廖雪峰git教程

  

  打開GitLab,發現已經推上去了。

  當然,要讓這個項目真正線上上運行,根據我們的每次代碼提交可以看到最新的線上內容,我們還要搞一下CI,這個下一集在講如何手擼CI。


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

-Advertisement-
Play Games
更多相關文章
  • 設置 JavaScript 對象屬性為事件處理程式: 1、註冊事件處理程式的最簡單方法就是通過設置事件目標的屬性為所需事件處理程式函數 2、這種事件處理程式註冊技術適用於所有瀏覽器的所有常用事件類型 3、事件處理程式屬性的缺點是其設計都圍繞著假設每個事件目標對於每種事件類型將最多只有一個處理程式 註 ...
  • # apt-get update # apt-get install -y python-software-properties software-properties-common # add-apt-repository ppa:chris-lea/node.js # apt-get updat ...
  • 1.安裝Node封裝模塊 安裝Node封裝模塊很重要,因為開發項目中會用到各種各樣的功能,這時就需要去下載開源的模塊 使用npm install <module_name> module_name為模塊名稱,命令下Node模板到你的開發環境中,並將其放置在node_modules文件夾中, 例如下載 ...
  • (function ($) { $.getUrlParam = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).mat ...
  • 1.Node.js中文官網http://nodejs.cn/download/下載node.js 學習node.js需要有javascript基礎,沒有基礎的可以在http://www.w3school.com.cn/js/index.asp上學習 下載好後,直接安裝。 2.開發工具 我使用的是ec ...
  • 最近做公司新項目用的angular7,中碰到了一個很頭疼的問題在綁定對象中的數據改變時,頁面視圖沒有跟新,需點擊頁面中的時間元素後才會更新。以前使用angularJs也經常碰到類似情況,這種時候一般的方式使使用臟檢查(Dirty checking)讓angularJs檢查綁定到視圖上的數據來實現對頁 ...
  • 這篇隨筆講講HTML5中的表單和表單的一些元素 一、表單的作用是什麼? 概念:表單在網頁中主要是負責對數據信息的採取,表單一共分成三個部分: 1、表單的標簽:這裡麵包含了處理表單的數據所用CGI程式以及數據提交到伺服器的方法。 2、表單域元素:包含著文本框,和密碼框,多行文本框,覆選框,單選框,下拉 ...
  • <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale= ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...