使用 Prettier Like a Pro 格式化您的程式碼
不要像這個人一樣-不要成為一個笨蛋。
為什麼需要格式化程式碼
格式化有助於建立您編寫的程式碼行,使其更易於閱讀和理解。當與多個開發人員一起開發程式碼庫時,這一點至關重要,所有開發人員都有自己的風格和對程式碼結構的偏好。擁有統一格式的程式碼庫有助於防止合併時的麻煩,並創建您和您的團隊可以在此基礎上建立的標準。
有多種方法可以為您自己和您的團隊設定格式範本。在本文中,我們將探討較受歡迎的選項之一:Prettier。
根據 State of JS 2021 調查,83% 的受訪者經常使用 Prettier 作為他們選擇的格式化程序,比上一年的調查增加了 13%。許多著名的團隊(例如 Facebook、Webflow、Jest、Dropbox、Spotify 和 PayPal 的團隊)都使用 Prettier 來確保其程式碼庫中的格式一致。
Prettier 可以透過多種方式配置和運作。在此範例中,我將示範如何使用 Git 掛鉤設定 Prettier,以在 VS Code 中自動化。更多範例和配置,請造訪 Prettier 的文檔。
開始之前
雖然不是必需的,但了解您將配置的選項及其用途很有幫助。您需要建立兩個檔案並將它們放置在專案的根層級。請記住,這些格式選項是特定於項目的,因此您需要為每個新項目重複此過程。這些檔案將包含您可以選擇的選項,您可以修改或刪除不適合您專案需求的選項。
.prettierrc
此文件位於專案的根級別,定義 Prettier 的基本格式規則。它使用 JSON 結構,可以根據您團隊的標準進行自訂。這是一個例子:
.editorconfig
即使在 Prettier 運作之前,該檔案也可確保編輯器設定的一致性。它還涵蓋了 .prettierrc 沒有的選項。這是一個例子:
設定工作流程
為了方便使用,兩個檔案都可以複製到文末。建立並配置 .prettierrc 和 .editorconfig 檔案後,您就可以繼續。安裝這三個 npm 套件以簡化格式化過程:
npm install --save-dev prettier lint-staged husky
然後初始化Husky
npx 哈士奇初始化
這些步驟可完成以下任務:
- 安裝 Prettier 進行格式化。
- 安裝 lint-staged 以在提交之前僅格式化暫存檔案。
- 安裝 Husky 以設定 Git 掛鉤以實現自動化。
- 初始化 Husky,這會建立必要的依賴項和預提交檔案。
設定新文件
另外兩個檔案需要設定:pre-commit 和 .lintstagedrc
預提交
該文件由 Husky 自動創建,用於指導自動化過程。它位於初始化期間創建的 Husky 資料夾內。配置如下圖:
.lintstagedrc
在根專案資料夾中建立此檔案(沒有類似 .editorconfig 和 .prettierrc 的副檔名)。它透過 Git hook 縮小了 Prettier 格式檔案的範圍。以下是一個範例,但您可以根據專案的文件類型進行調整:
測試工作流程
所有四個檔案就位(.prettierrc、.editorconfig、.lintstagedrc 和預先提交)後,您就可以測試工作流程。
- 對 .js 檔案進行簡單的格式變更(例如,新增不必要的空格或縮排)。
- 暫存您的變更: git添加-A
- 提交測試訊息 git commit -m“測試格式化工作流程”
如果一切設定正確,您的終端應該顯示一條成功訊息,並且格式變更將自動套用。
就是這樣!
您現在有了一種簡單而有效的方法來利用 Prettier 和 git hooks 來自動格式化程式碼。
我很想聽聽你的想法!如果這有幫助或您遇到任何問題,請在評論中告訴我 - 我隨時為您提供幫助!
複製貼上文件範例
.prettierrc
{ "arrowParens": "always", "bracketSameLine": false, "bracketSpacing": true, "embeddedLanguageFormatting": "auto", "endOfLine": "lf", "htmlWhitespaceSensitivity": "css", "insertPragma": false, "jsxSingleQuote": false, "printWidth": 80, "proseWrap": "preserve", "quoteProps": "as-needed", "requirePragma": false, "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5", "useTabs": false, "vueIndentScriptAndStyle": false }
.editorconfig
# Top-most EditorConfig file root = true # Global settings [*] indent_style = space indent_size = 2 tab_width = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true # Overrides [*.md] trim_trailing_whitespace = false max_line_length = off [*.yml] indent_style = space indent_size = 2 [*.ts] indent_style = space indent_size = 4 [Makefile] indent_style = tab [*.html] indent_size = 2 [*.json] indent_size = 2
以上是使用 Prettier Like a Pro 格式化您的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。
