從零開始搭建一個規範的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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...