prettier、eslint、stylelint在項目中使用

  1. prettier
    1)vscode中使用
    a. 安裝插件(Prettier)

在這里插入圖片描述
安裝成功后,在你打開支持的文件時,下方文件信息狀態欄會有prettier標致:
在這里插入圖片描述
雙擊它或者直接在輸出命令窗口那里查看prettier的日志信息:
在這里插入圖片描述
從日志這里可以看出,它是優先使用項目中的prettier配置的。
另外,一般你下載代碼格式化插件,都是搭配vscode的文件自動保存格式的(這樣方便),但是注意,這個自動保存格式化使用的是文件的默認格式化配置。

b. vscode配置
格式化的默認配置修改為prettier。
在這里插入圖片描述
開啟格式化自動保存。
在這里插入圖片描述
最后記得要重啟vscode

注意:當配置發生變化的時候也要重啟vscode

2)項目中使用
a. 新建配置(.prettierrc.cjs 或者.prettier.json),下面以.prettierrc.cjs為例

module.exports = {printWidth: 150, // 每行代碼長度(默認80)tabWidth: 2, // 縮進空格數useTabs: false, //不用tab縮進semi: true, //// 在語句末尾打印分號singleQuote: true, // 使用單引號而不是雙引號vueIndentScriptAndStyle: true, //Vue文件腳本和樣式標簽縮進quoteProps: 'as-needed', // 更改引用對象屬性的時間 可選值"<as-needed|consistent|preserve>"jsxSingleQuote: true, // 在JSX中使用單引號而不是雙引號trailingComma: 'es5', //多行時盡可能打印尾隨逗號。(例如,單行數組永遠不會出現逗號結尾。) 可選值"<none|es5|all>",默認nonebracketSpacing: true, // 在對象文字中的括號之間打印空格jsxBracketSameLine: false, //jsx 標簽的反尖括號需要換行arrowParens: 'always', // 在單獨的箭頭函數參數周圍包括括號 always:(x) => x \ avoid:x => xrangeStart: 0, // 這兩個選項可用于格式化以給定字符偏移量(分別包括和不包括)開始和結束的代碼rangeEnd: Infinity,requirePragma: false, // 指定要使用的解析器,不需要寫文件開頭的 @prettierinsertPragma: false, // 不需要自動在文件開頭插入 @prettierproseWrap: 'preserve', // 使用默認的折行標準 always\never\preservehtmlWhitespaceSensitivity: 'css', // 指定HTML文件的全局空格敏感度 css\strict\ignoreendOfLine: 'auto', // 因為prettier的規范和eslint的換行規則不同,所以這個必須配置。要不然每次打開文件都會有一堆的警告;換行符使用 lf 結尾是 可選值"<auto|lf|crlf|cr
};

b. package.json增加配置

"lint:prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}\""

在這里插入圖片描述
c. 執行 npm run lint:prettier

  1. eslint 采用antfu-config
    1)安裝eslint插件
    在這里插入圖片描述

2)通過生成配置文件

npx @antfu/eslint-config@latest

在這里插入圖片描述
3)安裝

npm install @antfu/eslint-config@latest

4)更改eslint.config.js

import antfu from '@antfu/eslint-config'export default antfu({// @stylistic/eslint-plugin-plus// stylistic: true,stylistic: {indent: 2, // 4, or 'tab'quotes: "single", // or 'double/single'semi: true,},// eslint-plugin-formatformatters: true,// unocss 檢測&格式化 暫時注釋 等配置了unocss再開放為true// unocss: true,// vue的eslint配置vue: true,// 保存刪除未引入的代碼// isInEditor: false,// 9x版本 忽略文件這種配置方式 廢棄掉eslintignoreignores: ['*.sh','node_modules','*.md','*.woff','*.ttf','.idea','/public','/docs','.husky','.local','/bin','Dockerfile',],lessOpinionated: true,rules: {'eslint-comments/no-unlimited-disable': 'off','ts/no-use-before-define': 'off','style/no-mixed-operators': 'off','no-console': 'warn','ts/no-unused-expressions': 'off','style/max-statements-per-line': 'off','ts/prefer-namespace-keyword': 'off','antfu/top-level-function': 'off','node/prefer-global/process': 'off','ts/consistent-type-definitions': 'off','ts/ban-ts-comment': 'off','vue/singleline-html-element-content-newline': 'off', // vue 標簽強制換行// 關閉一些耗時的規則'import/no-cycle': 'off','import/no-deprecated': 'off','import/no-named-as-default': 'off','prefer-promise-reject-errors': 'off',// 'ts/no-unused-vars': ['error', {//   argsIgnorePattern: '^_',//   varsIgnorePattern: '^_',// }],// '@typescript-eslint/no-unused-vars': ['error', {//   argsIgnorePattern: '^_',//   varsIgnorePattern: '^_',// }],},
})

5)重啟vscode
6)效果展示
在這里插入圖片描述
3. stylelint
1)安裝插件
在這里插入圖片描述
2)安裝依賴包

npm install -D stylelint stylelint-config-standard stylelint-order stylelint-config-prettier

3)增加以下配置
.stylelintignore

/dist/*
/public/*
public/*

.stylelintrc.cjs

module.exports = {root: true,plugins: ['stylelint-order'],extends: ['stylelint-config-standard', 'stylelint-config-prettier'],rules: {'selector-pseudo-class-no-unknown': [true,{ignorePseudoClasses: ['global'],},],'selector-pseudo-element-no-unknown': [true,{ignorePseudoElements: ['v-deep'],},],'at-rule-no-unknown': [true,{ignoreAtRules: ['tailwind','apply','variants','responsive','screen','function','if','each','include','mixin',],},],'no-empty-source': null,'named-grid-areas-no-invalid': null,'unicode-bom': 'never','no-descending-specificity': null,'font-family-no-missing-generic-family-keyword': null,'declaration-colon-space-after': 'always-single-line','declaration-colon-space-before': 'never',// 'declaration-block-trailing-semicolon': 'always','rule-empty-line-before': ['always',{ignore: ['after-comment', 'first-nested'],},],'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],'order/order': [['dollar-variables','custom-properties','at-rules','declarations',{type: 'at-rule',name: 'supports',},{type: 'at-rule',name: 'media',},'rules',],{ severity: 'warning' },],},ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
};

stylelint.config.js(16.x.x.x以上)

export default {plugins: ['stylelint-order'],extends: ['stylelint-config-standard', 'stylelint-config-prettier'],rules: {'selector-pseudo-class-no-unknown': [true,{ignorePseudoClasses: ['global'],},],'selector-pseudo-element-no-unknown': [true,{ignorePseudoElements: ['v-deep'],},],'at-rule-no-unknown': [true,{ignoreAtRules: ['tailwind','apply','variants','responsive','screen','function','if','each','include','mixin',],},],'no-empty-source': null,'named-grid-areas-no-invalid': null,'unicode-bom': 'never','no-descending-specificity': null,'font-family-no-missing-generic-family-keyword': null,'declaration-colon-space-after': 'always-single-line','declaration-colon-space-before': 'never',// 'declaration-block-trailing-semicolon': 'always','rule-empty-line-before': ['always',{ignore: ['after-comment', 'first-nested'],},],'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],'order/order': [['dollar-variables','custom-properties','at-rules','declarations',{type: 'at-rule',name: 'supports',},{type: 'at-rule',name: 'media',},'rules',],{ severity: 'warning' },],},ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts', '/dist/*', '/public/*', 'public/*'],
}

4).settings.json增加

"source.fixAll.stylelint": "explicit"

在這里插入圖片描述

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

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

相關文章

【C++】類對象內存布局與大小計算

1. 計算類對象的大小類實例化的對象中只存儲成員變量&#xff0c;不存儲成員函數&#xff0c;函數要用是通過 this 指針拿的。因為一個類可以實例化出 N 個對象&#xff0c;每個對象的成員變量都可以存儲不同的值&#xff0c;但是調用的函數卻是同一個。如果每個對象都成員函數…

容易忽視的TOS無線USB助手配網和接入USB使用: PC和TOS-WLink需要IP暢通,

引言&#xff1a;我們常常把重心放在了TOS-WLink的加入路由器&#xff0c;獲取IP&#xff1b;常常忽視了其實是要求PC和TOS-WLink需要IP暢通TOS無線USB助手首次藍牙配網, 無線接入USB設備到電腦, 分為是兩個過程&#xff1a;1, 藍牙連接TOS-WLink&#xff0c;如果配置的WIF…

學習Python中Selenium模塊的基本用法(7:元素操作-1)

定位網頁元素后&#xff0c;Selenium模塊支持點擊、發送文本或按鍵、清除內容等操作。本文以百度網站為例學習并測試這幾類操作的基本用法。首先是發送文本或按鍵&#xff0c;主要用到send_keys函數&#xff0c;如果是發送文本&#xff0c;則直接將文本內容作為函數入參即可&am…

使用MP4視頻格式鏈接地址的自適應視頻彈窗實現方案HTML代碼

以下是使用MP4視頻格式鏈接地址的自適應視頻彈窗實現方案&#xff1a;視頻彈窗播放器 使用原生MP4視頻格式鏈接&#xff0c;直接通過HTML5 video元素播放 響應式設計適配不同屏幕尺寸&#xff0c;16:9視頻比例保持不變 底部視頻列表可橫向滾動&#xff0c;點擊縮略圖切換不同視…

中農具身導航賦能智慧農業!AgriVLN:農業機器人的視覺語言導航

作者&#xff1a;Xiaobei Zhao, Xingqi Lyu, Xiang Li單位&#xff1a;中國農業大學論文標題&#xff1a;AgriVLN: Vision-and-Language Navigation for Agricultural Robots論文鏈接&#xff1a;https://arxiv.org/pdf/2508.07406v1代碼鏈接&#xff1a;https://github.com/Al…

Zynq開發實踐(Verilog、仿真、FPGA和芯片設計)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】zynq最大的優勢&#xff0c;就是把arm和fpga結合在一起了。這樣一顆soc里面&#xff0c;就可以用軟件去驅動外設ip&#xff0c;這是之前沒有過的體驗…

LabVIEW刺激響應測量解析

?該 LabVIEW 程序用于刺激 - 響應測量&#xff0c;實現測試信號生成、響應采集及測量分析&#xff0c;涵蓋信號同步、并行處理等概念&#xff0c;用于設備總諧波失真&#xff08;THD&#xff09;等電信號特性測量場景&#xff0c;借助 LabVIEW 圖形化編程優勢&#xff0c;將復…

Boosting(提升法)詳解

一、引言在集成學習&#xff08;Ensemble Learning&#xff09;中&#xff0c;Boosting&#xff08;提升法&#xff09; 是一種非常經典且強大的方法。它通過將多個弱學習器&#xff08;Weak Learners&#xff09;進行迭代組合&#xff0c;逐步提升整體的預測性能&#xff0c;從…

寵物智能手機PetPhone技術解析:AI交互與健康監測的系統級創新

當你的寵物通過AI自主接聽視頻通話&#xff0c;背后是計算機視覺與邊緣計算的技術融合。全球首款寵物智能手機正在重新定義跨物種人機交互。近日&#xff0c;亞洲寵物展覽會上亮相的PetPhone引發了技術社區的廣泛關注。這款專為寵物設計的智能設備集成了多項技術創新&#xff0…

智慧零售商品識別誤報率↓74%!陌訊多模態融合算法在自助結算場景的落地優化

原創聲明&#xff1a;本文為原創技術解析文章&#xff0c;核心技術參數與架構設計引用自 “陌訊技術白皮書”&#xff0c;禁止未經授權的轉載與篡改。文中算法邏輯與實戰方案均基于陌訊視覺算法 v3.2 版本展開&#xff0c;所有實測數據均來自智慧零售場景下的真實部署環境。一、…

ArcGIS學習-9 ArcGIS查詢操作

前置操作加載數據修改坐標系修改單位屬性查詢單條件查詢打開安徽省縣界的屬性表多條件查詢值得注意的是&#xff0c;不加括號和前面加括號&#xff0c;查出來的結果一致&#xff08;35條記錄&#xff09;而后面加括號&#xff0c;查詢結果與之前的不一致&#xff08;25條記錄&a…

A-Level物理課程全解析:知識點、學習計劃與培訓機構推薦

A-Level物理課程是國際教育體系中的重要科目&#xff0c;不僅為大學理工科專業打下基礎&#xff0c;也培養學生的科學思維與實驗能力。本文將從核心知識點解析、高效學習計劃制定&#xff0c;以及優質培訓機構推薦三個方面&#xff0c;為學生和家長提供全面、實用的指南。一、A…

Linux 進階之性能調優,文件管理,網絡安全

一、系統性能調優系統性能調優是 Linux 管理中的關鍵技能&#xff0c;它能顯著提升系統在不同應用場景下的表現。通過針對性的調優&#xff0c;可以解決資源瓶頸問題&#xff0c;提高服務響應速度&#xff0c;優化資源利用率。&#xff08;一&#xff09;CPU 性能調優知識點詳解…

【科普向-第五篇】MISRA C實戰手冊:規則與指令全解析

目錄 引言 1.1 起源與目的 1.2 規則體系結構 一.變量與類型&#xff08;Rule 1–9&#xff09; Rule 1.1 — 變量必須顯式初始化&#xff08;Mandatory&#xff09; Rule 1.2 — 使用固定寬度整數類型&#xff08;Mandatory&#xff09; Rule 1.3 — 避免未定義行為的類…

Custom SRP - Shadow Masks

截圖展示的是:近處實時陰影,遠處烘焙陰影1 Baking Shadows陰影讓場景更具層次感和真實感,但是實時陰影渲染距離有限,超出陰影距離的世界由于沒有陰影顯得很“平”.烘焙的陰影不會受限于陰影距離,可以與實時陰影結合解決該問題:最大陰影距離之內使用實時陰影最大陰影距離之外用烘…

Python爬蟲實戰:研究spidermonkey庫,構建電商網站數據采集和分析系統

1 引言 1.1 研究背景 互聯網數據已成為商業決策、學術研究的核心資源,網絡爬蟲作為數據獲取的主要工具,在靜態網頁時代發揮了重要作用。然而,隨著 AJAX、React、Vue 等技術的廣泛應用,超過 70% 的主流網站采用 JavaScript 動態生成內容(如商品列表滾動加載、評論分頁加載…

智能駕駛規劃技術總結

前言 本文主要對智能駕駛規劃技術相關知識進行初步探究和總結&#xff0c;以加深理解&#xff0c;及方便后續學習過程中查漏補缺。 分層規劃策略 尋徑 A*算法 概念 節點&#xff1a;網格化后的每一個最小單元父節點&#xff1a;路徑規劃中用于回溯的節點列表&#xff1a;需要不…

05 網絡信息內容安全--對抗攻擊技術

1 課程內容 網絡信息內容獲取技術網絡信息內容預處理技術網絡信息內容過濾技術社會網絡分析技術異常流量檢測技術對抗攻擊技術 2 對抗攻擊概述 2.1 對抗攻擊到底是啥&#xff1f; 咱們先舉個生活例子&#xff1a; 你平時看蘋果能認出來 —— 紅顏色、圓溜溜、帶個小揪揪。但如果…

【FPGA】VGA顯示-貪吃蛇

這個項目實現了一個完整的貪吃蛇游戲&#xff0c;使用Verilog HDL在FPGA上構建。項目包含了VGA顯示控制、按鍵消抖處理、游戲邏輯和圖形渲染等多個模塊&#xff0c;展示了數字邏輯設計的綜合應用。 項目概述 該設計使用硬件描述語言實現了經典貪吃蛇游戲的所有核心功能&#…

從PostgreSQL到人大金倉(KingBase)數據庫遷移實戰:Spring Boot項目完整遷移指南

&#x1f4d6; 前言 在國產化浪潮的推動下&#xff0c;越來越多的企業開始將數據庫從國外產品遷移到國產數據庫。本文將以一個真實的Spring Boot項目為例&#xff0c;詳細介紹從PostgreSQL遷移到人大金倉&#xff08;KingBase&#xff09;數據庫的完整過程&#xff0c;包括遇到…