Vue-8.集成(.editorconfig、.eslintrc.js、.prettierrc)

介紹

同時使用 .editorconfig、.prettierrc 和 .eslintrc.js 是很常見的做法,因為它們可以在不同層面上幫助確保代碼的格式一致性和質量。這種組合可以在開發過程中提供全面的代碼維護和質量保證。然而,這也可能增加一些復雜性,需要謹慎配置和協調(其實就是它們之間有交集的配置,這部分配置必須一致,所以我下面的配置都是配套的)。

簡單示例

當同時使用 .editorconfig.prettierrc.eslintrc.js 這些配置文件時,可以實現一致的代碼格式、規范和質量。以下是一個詳細的示例,展示如何在一個項目中配置這些文件:

  1. .editorconfig 文件示例:

.editorconfig 文件用于定義代碼編輯器的基本格式規范,以確保開發人員在不同編輯器中具有一致的代碼格式。

# 根據項目的編程語言和需求設置默認配置
root = true# 通用配置
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true# 針對不同類型文件的配置
[*.{js,jsx,ts,tsx,vue}]
indent_size = 2[*.md]
trim_trailing_whitespace = false
  1. .prettierrc 文件示例:

.prettierrc 文件用于配置 Prettier 格式化工具的格式規范,確保代碼在不同編輯器中保持一致的風格。

{"printWidth": 80,"tabWidth": 2,"singleQuote": true,"trailingComma": "es5"
}
  1. .eslintrc.js 文件示例:

.eslintrc.js 文件用于配置 ESLint 代碼靜態分析工具的規則和格式,確保代碼的質量和一致性。

module.exports = {env: {browser: true,es6: true},extends: ['eslint:recommended', 'plugin:vue/essential'],plugins: ['vue'],rules: {'no-console': 'off','no-unused-vars': 'warn','vue/no-unused-components': 'warn'}
};

在這個示例中,.editorconfig.prettierrc.eslintrc.js 配置文件都被放置在項目根目錄中。通過這些配置,我們實現了以下效果:

  • .editorconfig 定義了通用的代碼格式規范,包括縮進、換行符、字符集等。
  • .prettierrc 配置了 Prettier 的代碼格式規則,如行寬、縮進、引號類型等。
  • .eslintrc.js 定義了 ESLint 的代碼質量規則,包括不允許使用 console、警告未使用的變量等。

通過同時使用這些配置文件,可以確保項目中的代碼在編輯器中保持一致的格式,遵循一致的規范,并且符合預定的代碼質量標準。這有助于提高協作效率、代碼質量和可維護性。

企業級配置

.editorconfig

# 通用設置
[*]
# 使用 UTF-8 字符集
charset = utf-8
# 使用 LF(換行符)
end_of_line = lf
# 文件末尾不需要插入空行
insert_final_newline = false
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對特定文件類型的設置
[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對另一系列文件類型的設置
[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對一些配置文件的設置
[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對 .svg 文件的設置
[*.svg]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對 .js.map 文件的設置
[*.js.map]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對 .less 文件的設置
[*.less]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對 .vue 文件的設置
[*.vue]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2# 針對另一些配置文件的設置
[{.analysis_options,*.yml,*.yaml}]
# 使用空格作為縮進
indent_style = space
# 縮進大小為 2 個空格
indent_size = 2

.eslintrc.js

你提供的是一個 .eslintrc.js 配置文件,用于配置 ESLint 規則,其中還包括了 Vue 3、Prettier 和 Jest 的集成。以下是你的配置文件的詳細解釋:

module.exports = {root: true, // 根配置文件env: {node: true, // 運行環境為 Node.js},extends: ["plugin:vue/vue3-essential", // 使用 Vue 3 的基本規則"eslint:recommended", // 使用 ESLint 推薦的規則"plugin:prettier/recommended", // 集成 Prettier 的推薦規則],parserOptions: {parser: "@babel/eslint-parser", // 使用 Babel 解析器},rules: {"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", // 在生產環境禁用 debugger"no-console": process.env.NODE_ENV === "production" ? "error" : "off",   // 在生產環境禁用 console"space-before-function-paren": 0, // 函數定義括號前不需要空格"vue/require-default-prop": "off", // 不要求默認的 prop"vue/require-prop-types": "off", // 不要求 prop 的類型"generator-star-spacing": "off", // 禁用 generator 函數 * 后的空格警告"no-mixed-operators": 0, // 允許混合使用運算符"vue/max-attributes-per-line": [// 每行最多屬性數2,{singleline: 5, // 單行最多 5 個屬性multiline: {max: 1, // 多行最多 1 個屬性allowFirstLine: false,},},],"vue/attribute-hyphenation": 0, // 不強制屬性使用連字符"vue/html-self-closing": 0, // 不強制自閉合標簽"vue/component-name-in-template-casing": 0, // 組件名大小寫不敏感"vue/html-closing-bracket-spacing": 0, // 不強制標簽閉合前的空格"vue/singleline-html-element-content-newline": 0, // 單行元素內容不需要新行"vue/no-unused-components": 0, // 允許定義未使用的組件"vue/multiline-html-element-content-newline": 0, // 多行元素內容不需要新行"vue/no-use-v-if-with-v-for": 0, // 允許同時使用 v-if 和 v-for"vue/html-closing-bracket-newline": 0, // 標簽閉合括號不需要新行"vue/no-parsing-error": 0, // 允許存在解析錯誤"no-tabs": 0, // 允許使用制表符quotes: [// 引號配置2,"single",{avoidEscape: true, // 避免轉義allowTemplateLiterals: true, // 允許模板字符串},],semi: [// 分號配置2,"never",{beforeStatementContinuationChars: "never",},],"no-delete-var": 2, // 禁止刪除變量"prefer-const": [// 建議使用 const2,{ignoreReadBeforeAssign: false,},],"template-curly-spacing": "off", // 關閉模板字符串中花括號間的空格indent: "off", // 關閉縮進檢查},overrides: [{files: ["**/__tests__/*.{j,t}s?(x)","**/tests/unit/**/*.spec.{j,t}s?(x)",],env: {jest: true, // 在測試文件中啟用 Jest 環境},},],
};

解釋如下:

  • root: true:表示該配置文件是項目的根配置文件,不會再向上查找其他配置文件。

  • env: { node: true }:指定代碼的運行環境為 Node.js。

  • extends:繼承其他的 ESLint 配置,這里使用了以下擴展配置:

    • "plugin:vue/vue3-essential":使用 Vue 3 的基本規則,該插件提供了與 Vue 3 一起使用的必要規則。
    • "eslint:recommended":使用 ESLint 推薦的規則,這些規則有助于提高代碼質量和可讀性。
    • "plugin:prettier/recommended":集成 Prettier 的推薦規則,確保 ESLint 和 Prettier 一起使用時不會沖突。
  • parserOptions:指定解析器選項,這里使用 @babel/eslint-parser 解析 JavaScript,與 Babel 一起使用。

  • rules:定義自定義的規則和規則覆蓋。其中包括:

    • "no-console""no-debugger":根據環境決定是否允許使用 consoledebugger
  • overrides:覆蓋配置,對特定文件或文件夾應用不同的配置。在此配置中,對測試文件啟用了 Jest 環境。

.prettierrc

這是一個 Prettier 配置,Prettier 是一個用于格式化代碼的工具,可以讓你的代碼在不同的編輯器中保持一致的樣式。以下是你提供的 Prettier 配置的解釋:

{"printWidth": 120, // 每行代碼的最大字符數為 120"semi": false, // 不使用分號"singleQuote": true, // 使用單引號"prettier.spaceBeforeFunctionParen": true // 在函數參數的括號前添加空格
}

解釋如下:

  • "printWidth": 120:限制每行代碼的最大字符數為 120。當代碼行超過這個字符數時,Prettier 會自動進行換行以保持代碼的可讀性。

  • "semi": false:不使用分號。Prettier 會自動刪除你的代碼中不必要的分號,以及為需要的地方添加分號。

  • "singleQuote": true:使用單引號。Prettier 會將字符串中的雙引號替換為單引號,以保持一致的引號風格。

  • "prettier.spaceBeforeFunctionParen": true:在函數參數的括號前添加空格。這可以讓函數定義更加清晰,比如 function foo( x ) 而不是 function foo(x)

你可以將這些配置應用到項目中的 .prettierrc.prettierrc.json 文件中,以確保你的代碼在格式化時遵循這些規則。這將有助于團隊成員在編輯代碼時保持一致的風格。

在VsCode中如何使用

.editorconfig

在 Visual Studio Code 中使用 EditorConfig 可以幫助你維持一致的代碼風格,并根據項目中的 .editorconfig 文件自動調整編輯器的設置。以下是如何在 VS Code 中使用 EditorConfig 的步驟:

  1. 安裝 “EditorConfig for VS Code” 擴展:

    • 打開 VS Code。
    • 在側邊欄的擴展面板中搜索 “EditorConfig for VS Code”。
    • 點擊安裝按鈕,安裝擴展。
  2. 創建或定位到項目的 .editorconfig 文件:

    • 在項目根目錄中創建一個名為 .editorconfig 的文件,如果該文件已經存在,則直接定位到它。
  3. 配置 .editorconfig 文件:

    • 編輯 .editorconfig 文件以定義你想要的代碼風格規則。這個文件使用類似 INI 文件的語法。
    • 例如,你可以像下面這樣配置一些常用的規則:
# 縮進風格
[*]
indent_style = space
indent_size = 2# JavaScript 和 TypeScript 文件
[*.js]
indent_style = space
indent_size = 2# Python 文件
[*.py]
indent_style = space
indent_size = 4# 其他規則...
  1. 保存文件后,VS Code 將會根據 .editorconfig 文件自動調整編輯器設置,以保持一致的代碼風格。

需要注意的是,“EditorConfig for VS Code” 擴展會自動讀取項目中的 .editorconfig 文件,并根據配置調整編輯器設置。這使得團隊中的開發人員可以共享相同的代碼風格,無論他們使用哪種編輯器。

在使用 EditorConfig 時,也要注意是否與其他格式化工具(如 Prettier、ESLint 等)產生沖突。通常,EditorConfig 更多地用于基本的縮進、換行、編碼等風格,而其他工具可以用于更高級的代碼質量和規范性方面。

.eslintrc.js

在 Visual Studio Code 中使用 .eslintrc.js(或 .eslintrc.json)文件,可以幫助你在編輯代碼時檢測和修復代碼質量問題,以及保持一致的代碼風格。以下是在 VS Code 中使用 ESLint 的步驟:

  1. 確保已安裝必要的軟件:

    • 在項目根目錄中確保已經安裝了 ESLint 和相關插件,以及一個合適的配置文件(.eslintrc.js.eslintrc.json)。
  2. 安裝 “ESLint” 擴展:

    • 打開 VS Code。
    • 在側邊欄的擴展面板中搜索 “ESLint”。
    • 點擊安裝按鈕,安裝擴展。
  3. 配置 ESLint 擴展:

    • 安裝完 “ESLint” 擴展后,它會自動檢測項目中的 .eslintrc.js.eslintrc.json 文件,并根據配置文件設置代碼檢查規則。
  4. 在編輯器中使用 ESLint:

    • 打開一個項目中的 JavaScript 或 TypeScript 文件。
    • 如果文件中存在不符合 ESLint 規則的代碼,你會在編輯器的左下角看到一個小燈泡圖標。
    • 將鼠標懸停在燈泡上,你將看到 ESLint 的錯誤或警告信息。
    • 點擊燈泡圖標,你可以選擇應用修復或忽略錯誤。
  5. 自動修復代碼問題:

    • 在編輯器中,你可以右鍵點擊代碼或選擇一部分代碼,然后點擊右鍵菜單中的 “Fix all auto-fixable Problems”。
    • 這將自動修復當前文件中所有可以自動修復的問題,基于你的 ESLint 配置。

需要注意的是,VS Code 會自動檢測項目中的 ESLint 配置文件,并根據配置在編輯器中顯示錯誤和警告信息。使用 ESLint 擴展可以幫助你及時發現和修復代碼質量問題,從而提高代碼的可維護性和一致性。

如果你遇到了配置問題或其他問題,確保你的項目中已經正確安裝了 ESLint 和相應的配置文件,并根據需要調整 VS Code 的設置。

.prettierrc

在 Visual Studio Code 中使用 .prettierrc(或 .prettierrc.json.prettierrc.yaml 等)文件,可以幫助你維持一致的代碼格式,并自動應用 Prettier 的代碼格式化規則。以下是在 VS Code 中使用 Prettier 的步驟:

  1. 確保已安裝必要的軟件:

    • 在項目根目錄中確保已經安裝了 Prettier 和相關插件,以及一個合適的配置文件(.prettierrc 或其他格式的配置文件)。
  2. 安裝 “Prettier - Code formatter” 擴展:

    • 打開 VS Code。
    • 在側邊欄的擴展面板中搜索 “Prettier - Code formatter”。
    • 點擊安裝按鈕,安裝擴展。
  3. 配置 “Prettier - Code formatter” 擴展:

    • 在 VS Code 的設置中搜索 “Prettier”。

    在這里插入圖片描述

    • 找到 “Prettier: Require Config” 設置,并將其設置為 “true”,以確保 VS Code 使用項目根目錄中的 .prettierrc 文件。

    在這里插入圖片描述

    • 如果你的 .prettierrc 文件位于項目根目錄之外,你還可以在該設置中提供自定義的配置文件路徑。
  4. 在編輯器中使用 Prettier:

    • 打開一個支持的代碼文件(例如 JavaScript、TypeScript、CSS、JSON 等)。
    • 你可以使用快捷鍵(默認為 Shift + Alt + F)或右鍵點擊編輯器中的代碼,然后選擇 “Format Document” 來應用 Prettier 的格式化規則。
      在這里插入圖片描述
      在這里插入圖片描述
      在這里插入圖片描述
  5. 自動保存時格式化:

    • 在 VS Code 設置中搜索 “Format On Save”。
    • 啟用 “Editor: Format On Save” 設置,以便在保存文件時自動應用 Prettier 的格式化規則。

在這里插入圖片描述

通過上述步驟,你可以在 Visual Studio Code 中輕松使用 Prettier 來保持一致的代碼格式。當你保存文件時,Prettier 將自動格式化代碼,確保代碼風格的一致性。

確保你的項目中已經正確安裝了 Prettier,并根據需要調整 VS Code 的設置以便與 Prettier 一起使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39840.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39840.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39840.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Coreutils工具包,Windows下使用Linux命令

之前總結過兩篇有關【如何在Windows系統下使用Linux的常用命令】的文章: GnuWin32,Windows下使用Linux命令 UnxUtils工具包,Windows下使用Linux命令 今天再推薦一個類似的工具包Coreutils 一、簡介 GNU core utilities是GNU操作系統基本…

【HDFS】hdfs的count命令的參數詳解

Usage: hadoop fs -count [-q] [-h] [-v] [-x] [-t [<storage type>]] [-u] [-e] [-s] <paths

(學習筆記-進程管理)怎么避免死鎖?

死鎖的概念 在多線程編程中&#xff0c;我們為了防止多線程競爭共享資源而導致數據錯亂&#xff0c;都會在操作共享資源之前加上互斥鎖&#xff0c;只有成功獲得到鎖的線程&#xff0c;才能操作共享資源&#xff0c;獲取不到鎖的線程就只能等待&#xff0c;直到鎖被釋放。 那…

創建一個簡單的HTML Viewer應用程序

使用wxPython和內嵌瀏覽器來創建一個簡單的HTML Viewer應用程序。 在本篇文章中&#xff0c;我們將使用Python和wxPython模塊來創建一個簡單的HTML Viewer應用程序。這個應用程序可以讓用戶輸入HTML內容&#xff0c;并在內嵌瀏覽器中顯示該內容的效果。 準備工作 在開始之前…

apache doris和StarRocks的區別

記錄一下最新要用到2個新數據庫的區別 Apache Doris是一個分布式的列式存儲系統&#xff0c;它的設計目標是提供大規模數據處理的可靠性和高性能。Doris采用了集群方式&#xff0c;通過將數據分布在多個機器上進行處理來提高性能&#xff0c;并提供了SQL查詢接口方便用戶使用。…

QT:定時器事件

定時器第一種辦法&#xff1a; 1.利用事件timerEvent&#xff0c;在幫助文檔中找到該字段&#xff1a;[override virtual protected] void QTimer::timerEvent(QTimerEvent *e) 重寫該虛函數 //重寫定時器事件void timerEvent(QTimerEvent *e);2.啟動定時器startTimer(1000); …

區間預測 | MATLAB實現QRGRU門控循環單元分位數回歸時間序列區間預測

區間預測 | MATLAB實現QRGRU門控循環單元分位數回歸時間序列區間預測 目錄 區間預測 | MATLAB實現QRGRU門控循環單元分位數回歸時間序列區間預測效果一覽基本介紹模型描述程序設計參考資料 效果一覽 基本介紹 MATLAB實現QRGRU門控循環單元分位數回歸時間序列區間預測。基于分位…

卷積神經網絡教程 (CNN) – 使用 TensorFlow 在 Python 中開發圖像分類器

在這篇博客中,讓我們討論什么是卷積神經網絡 (CNN) 以及 卷積神經網絡背后的架構——旨在解決 圖像識別系統和分類問題。 卷積神經網絡在圖像和視頻識別、推薦系統和自然語言處理方面有著廣泛的應用。 目錄 計算機如何讀取圖像? 為什么不是全連接網絡?

[GitOps]微服務版本控制:使用ArgoCD 部署Grafana Loki

背景介紹 請回答&#xff1a;你們是如何保證線上部署的服務&#xff0c;從服務版本到參數配置&#xff0c;都是和測試通過的版本是一致的呢&#xff1f; 本文將介紹GitOps的基本原理以及ArgoCD的使用&#xff1a;ArgoCD部署Grafana Loki 到k8s集群。 本文項目地址&#xff1…

詳細介紹如何使用 OpenCV 對圖像進行銳化

將了解銳化圖像的過程,我們將使用內核來突出顯示每個特定像素并增強其發出的顏色。它與模糊過程非常相似,只不過現在我們不是創建一個內核來平均每個像素強度,而是創建一個內核,該內核將使像素強度更高,因此對人眼來說更加突出。 了解流程的后端。 很高興知道內核用于模糊…

Nginx 解決api跨域問題

環境: nginx 1.22.1 寶塔8.0 php lavarel 在nginx里加入下面的設置 #這里填*就是任何域名都允許跨域add_header Access-Control-Allow-Origin "*";#CORS請求默認不發送Cookie和HTTP認證信息。但是如果要把Cookie發到服務器&#xff0c;要服務器同意&#xff0c…

Webpack和Parcel詳解

構建工具和打包器是在開發過程中幫助組織、優化和打包項目的工具。它們可以處理依賴管理、資源優化、代碼轉換等任務&#xff0c;從而使開發流程更高效。以下是關于構建工具和打包器的一些指導&#xff1a; **Webpack&#xff1a;** Webpack 是一個功能強大的模塊打包器&#…

Java“牽手”1688商品詳情頁面數據獲取方法,1688API實現批量商品數據抓取示例

背景&#xff1a;1688商城是一個網上購物平臺&#xff0c;售賣各類商品&#xff0c;包括服裝、鞋類、家居用品、美妝產品、電子產品等。要獲取1688商品詳情數據&#xff0c;您可以通過開放平臺的接口或者直接訪問1688商城的網頁來獲取商品詳情信息。以下是兩種常用方法的介紹&a…

538頁21萬字數字政府智慧政務大數據云平臺項目建設方案WORD

導讀&#xff1a;原文《538頁21萬字數字政府智慧政務大數據云平臺項目建設方案WORD》&#xff08;獲取來源見文尾&#xff09;&#xff0c;本文精選其中精華及架構部分&#xff0c;邏輯清晰、內容完整&#xff0c;為快速形成售前方案提供參考。 根據業務的不同屬性&#xff0c…

深入解析 Axios Blob 的使用方法及技巧

在 Web 開發中&#xff0c;處理文件傳輸是一個常見的需求。Blob&#xff08;二進制對象&#xff09;是一種表示二進制數據的方式&#xff0c;常用于處理文件和多媒體數據。本文將介紹如何使用 Axios 和 Blob 來處理文件傳輸。 Axios Blob 概念 在開始之前&#xff0c;讓我們先…

IC流程中 DFT 學習筆記(1)

引言 DFT是ASIC芯片設計流程中不可或缺的環節。其主要目的是在芯片前端設計驗證完成后插入一些諸如寄存器鏈等可供測試的邏輯&#xff0c;算是IC后端設計的范疇。主要是在ASIC芯片流片完成后&#xff0c;通過這些已插入的邏輯&#xff0c;檢測流片得到的芯片的制造質量。檢測一…

Go framework-Beego

一、Beego Beego用于在Go中快速開發企業應用程序&#xff0c;包括RESTful API、web應用程序和后端服務。 Beego 源碼地址 Beego 官方站點 Beego 官方說明 Beego的特性 RESTful支持MVC架構模塊化自動API文檔注釋路由命名空間開發工具集合Full stack for Web & API Bee…

使用provision創建的arxml文件,導入到第三方工具需要注意哪些方面?

provision是一款基于AP AUTOSAR的ARXML設計工具&#xff0c;可以幫助您快速創建和配置ARXML文件。 如果您想要將provision創建的ARXML文件導入到第三方工具中&#xff0c;您需要注意以下幾個方面&#xff1a; 您需要確認第三方工具支持的AP AUTOSAR版本和provision生成的ARXML…

非計算機科班如何順利轉行計算機領域?

文章目錄 每日一句正能量前言如何規劃才能實現轉計算機&#xff1f;計算機崗位發展前景&#xff1f;現階段轉計算機的建議后記 每日一句正能量 改變思路&#xff0c;改變習慣&#xff0c;改變一種活的方式&#xff0c;往往會創造無限&#xff0c;風景無限&#xff01; 前言 近年…

Java并發編程(四)線程同步 中 [AQS/Lock]

概述 Java中可以通過加鎖&#xff0c;來保證多個線程訪問某一個公共資源時&#xff0c;資源的訪問安全性。Java提出了兩種方式來加鎖 第一種是我們上文提到的通過關鍵字synchronized加鎖&#xff0c;synchronized底層托管給JVM執行的&#xff0c;并且在java 1.6 以后做了很多…