Sei nicht wie dieser Kerl – sei kein Idiot.
Warum formatierter Code ben?tigt wird
Formatierung hilft dabei, die von Ihnen geschriebenen Codezeilen zu strukturieren und sie so leichter lesbar und verst?ndlich zu machen. Dies ist von entscheidender Bedeutung, wenn an einer Codebasis mit mehreren Entwicklern gearbeitet wird, die alle ihren eigenen Stil und ihre eigenen Vorlieben für die Struktur ihres Codes haben. Eine einheitlich formatierte Codebasis hilft, Probleme beim Zusammenführen zu vermeiden und schafft einen Standard, auf dem Sie und Ihr Team aufbauen k?nnen.
Es gibt mehrere M?glichkeiten, eine Formatierungsvorlage für sich und Ihr Team einzurichten. In diesem Artikel untersuchen wir eine der beliebtesten Optionen: Hübscher.
Laut der Umfrage ?State of JS 2021“ verwenden 83 % der Befragten regelm??ig Prettier als Formatierungsprogramm ihrer Wahl, ein Anstieg von 13 % gegenüber der Vorjahresumfrage. Viele prominente Teams – etwa Facebook, Webflow, Jest, Dropbox, Spotify und PayPal – verwenden Prettier, um eine konsistente Formatierung in ihren Codebasen sicherzustellen.
Prettier kann auf verschiedene Arten konfiguriert und ausgeführt werden. In diesem Beispiel zeige ich, wie man Prettier mit einem Git-Hook für die Automatisierung in VS Code einrichtet. Weitere Beispiele und Konfigurationen finden Sie in der Dokumentation von Prettier.
Bevor Sie beginnen
Obwohl dies nicht erforderlich ist, ist es hilfreich zu verstehen, welche Optionen Sie konfigurieren und was sie bewirken. Sie müssen zwei Dateien erstellen und diese auf der Stammebene Ihres Projekts platzieren. Beachten Sie, dass diese Formatierungsoptionen projektspezifisch sind. Sie müssen diesen Vorgang daher für jedes neue Projekt wiederholen. Diese Dateien enthalten die Optionen, die Sie ausw?hlen k?nnen, und Sie k?nnen Optionen ?ndern oder entfernen, die nicht den Anforderungen Ihres Projekts entsprechen.
.prettierrc
Diese Datei, die sich auf der Stammebene Ihres Projekts befindet, definiert die grundlegenden Formatierungsregeln für Prettier. Es verwendet eine JSON-Struktur und kann an die Standards Ihres Teams angepasst werden. Hier ist ein Beispiel:
.editorconfig
Diese Datei gew?hrleistet die Konsistenz Ihrer Editoreinstellungen, noch bevor Prettier ausgeführt wird. Es deckt auch Optionen ab, die .prettierrc nicht bietet. Hier ist ein Beispiel:
Einrichten des Workflows
Der Einfachheit halber k?nnen beide Dateien am Ende des Artikels kopiert werden. Sobald Sie die Dateien .prettierrc und .editorconfig erstellt und konfiguriert haben, k?nnen Sie fortfahren. Installieren Sie diese drei npm-Pakete, um den Formatierungsprozess zu optimieren:
npm install --save-dev prettier lint-staged husky
Dann initialisieren Sie Husky
npx husky init
Mit diesen Schritten wird Folgendes erreicht:
- Installieren Sie Prettier zur Formatierung.
- Installieren Sie lint-staged, um vor dem Festschreiben nur bereitgestellte Dateien zu formatieren.
- Installieren Sie Husky, um Git-Hooks für die Automatisierung einzurichten.
- Initialisieren Sie Husky, wodurch die erforderlichen Abh?ngigkeiten und eine Pre-Commit-Datei erstellt werden.
Neue Dateien konfigurieren
Zwei zus?tzliche Dateien müssen konfiguriert werden: pre-commit und .lintstagedrc
vorab festlegen
Diese von Husky automatisch erstellte Datei leitet den Automatisierungsprozess. Es befindet sich im Husky-Ordner, der w?hrend der Initialisierung erstellt wurde. Konfigurieren Sie es wie unten gezeigt:
.lintstagedrc
Erstellen Sie diese Datei (ohne Erweiterung wie .editorconfig und .prettierrc) im Stammordner des Projekts. Es schr?nkt den Umfang der Dateien in sch?neren Formaten durch den Git-Hook ein. Unten sehen Sie ein Beispiel, das Sie jedoch je nach Dateityp Ihres Projekts anpassen k?nnen:
Testen des Workflows
Sobald alle vier Dateien vorhanden sind – .prettierrc, .editorconfig, .lintstagedrc und pre-commit – k?nnen Sie den Workflow testen.
- Nehmen Sie eine einfache Formatierungs?nderung an einer .js-Datei vor (fügen Sie beispielsweise unn?tige Leerzeichen oder Einzüge hinzu).
- Stellen Sie Ihre ?nderungen bereit: git add -A
- Commit mit einer Testnachricht git commit -m ?Formatierungsworkflow testen“
Wenn alles richtig eingerichtet wurde, sollte Ihr Terminal eine Erfolgsmeldung anzeigen und die Formatierungs?nderungen werden automatisch übernommen.
Das ist es!
Sie haben jetzt eine einfache, aber effektive M?glichkeit, Prettier und Git-Hooks zu nutzen, um die Formatierung Ihres Codes zu automatisieren.
Ich würde gerne Ihre Meinung h?ren! Lassen Sie mich in den Kommentaren wissen, ob dies hilfreich war oder ob Sie auf Probleme sto?en – ich bin hier, um Ihnen zu helfen!
Beispiele für Kopieren und Einfügen von Dateien
.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
Das obige ist der detaillierte Inhalt vonFormatieren Sie Ihren Code mit Prettier Like a Pro. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PlatztagsattheBottomofabogpostorwebpageServeSpracticalPurposesforseo, Usexperience und design.1ithelpswithseobyallowingEnginestoaccessKeyword-relevantTagswithoutClutteringHemainContent.2.

Die folgenden Punkte sollten bei der Verarbeitung von Daten und Zeiten in JavaScript festgestellt werden: 1. Es gibt viele M?glichkeiten, Datumsobjekte zu erstellen. Es wird empfohlen, ISO -Format -Zeichenfolgen zu verwenden, um die Kompatibilit?t sicherzustellen. 2. Die Zeitinformationen erhalten und festlegen k?nnen und setzen Sie Methoden fest, und beachten Sie, dass der Monat mit 0 beginnt. 3. Die manuell formatierende Daten sind Zeichenfolgen erforderlich, und auch Bibliotheken von Drittanbietern k?nnen verwendet werden. 4. Es wird empfohlen, Bibliotheken zu verwenden, die Zeitzonen wie Luxon unterstützen. Das Beherrschen dieser wichtigen Punkte kann h?ufige Fehler effektiv vermeiden.

Ereigniserfassung und Blase sind zwei Phasen der Ereignisausbreitung in DOM. Die Erfassung erfolgt von der oberen Schicht bis zum Zielelement, und die Blase ist vom Zielelement bis zur oberen Schicht. 1. Die Ereigniserfassung wird implementiert, indem der UseCapture -Parameter von AddEventListener auf true festgelegt wird. 2. Ereignisblase ist das Standardverhalten, Uscapture ist auf false oder weggelassen. 3. Die Ereignisausbreitung kann verwendet werden, um die Ereignisausbreitung zu verhindern. 4. Event Bubbling unterstützt die Ereignisdelegation, um die Effizienz der dynamischen Inhaltsverarbeitung zu verbessern. 5. Capture kann verwendet werden, um Ereignisse im Voraus abzufangen, wie z. B. Protokollierung oder Fehlerverarbeitung. Das Verst?ndnis dieser beiden Phasen hilft dabei, das Timing und die Reaktion von JavaScript auf Benutzeroperationen genau zu steuern.

Wenn JavaScript -Anwendungen langsam geladen werden und eine schlechte Leistung haben, ist das Problem, dass die Nutzlast zu gro? ist. Zu den L?sungen geh?ren: 1. Verwenden Sie die Codespaltung (codessplitting), teilen Sie das gro?e Bündel über React.lazy () in mehrere kleine Dateien auf und laden Sie es nach Bedarf, um den ersten Download zu reduzieren. 2. Entfernen Sie den unbenutzten Code (Treeshaker), verwenden Sie den ES6 -Modulmechanismus, um "toten Code" zu l?schen, um sicherzustellen, dass die eingeführten Bibliotheken diese Funktion unterstützen. 3.. Ressourcendateien komprimieren und verschmelzen, GZIP/Brotli und Terser aktivieren, JS zu komprimieren, Dateien vernünftig zusammenzufassen und statische Ressourcen zu optimieren. V.

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

Der Hauptunterschied zwischen ES -Modul und CommonJs ist das Lademethode und das Nutzungsszenario. 1.Kommonjs ist synchron geladen und für die node.js server-Seite-Umgebung geeignet. 2. Das Modul ist asynchron geladen und für Netzwerkumgebungen wie Browser geeignet. A. 4.Commonjs wird in alten Versionen von Node.js und Bibliotheken, die auf IT wie Express angewiesen sind, h?ufig verwendet, w?hrend ES-Module für moderne Front-End-Frameworks und Node.jsv14 geeignet sind; 5. Obwohl es gemischt werden kann, kann es leicht zu Problemen führen.

Der Müllsammlung von JavaScript verwaltet den Speicher automatisch über einen Tag-Clearing-Algorithmus, um das Risiko eines Speicherlecks zu verringern. Der Motor durchquert und markiert das aktive Objekt aus dem Wurzelobjekt, und nicht markiert wird als Müll behandelt und gel?scht. Wenn das Objekt beispielsweise nicht mehr referenziert wird (z. B. die Variable nach NULL), wird es in der n?chsten Runde des Recyclings freigegeben. Zu den h?ufigen Ursachen für Speicherlecks geh?ren: ① Unger?te Timer oder Event -H?rer; ② Verweise auf externe Variablen in Schlie?ungen; ③ Globale Variablen halten weiterhin eine gro?e Datenmenge. Der V8 -Motor optimiert die Recyclingeffizienz durch Strategien wie Recycling von Generationen, inkrementelle Markierung, paralleles/gleichzeitiges Recycling und verkürzt die Hauptblockierungszeit. W?hrend der Entwicklung sollten unn?tige globale Referenzen vermieden und Objektverb?nde umgehend dekoriert werden, um die Leistung und Stabilit?t zu verbessern.

Der Unterschied zwischen VaR, LET und CONT ist Geltungsbereich, Werbung und wiederholte Erkl?rungen. 1.VAR ist das Funktionsbereich mit variabler Werbung, die wiederholte Deklarationen erm?glicht. 2. Das Glied ist der Umfang auf Blockebene mit vorübergehenden toten Zonen, und wiederholte Erkl?rungen sind nicht zul?ssig. 3.Konst ist auch der Umfang auf Blockebene und muss sofort zugewiesen werden und kann nicht neu zugewiesen werden, aber der interne Wert des Referenztyps kann ge?ndert werden. Verwenden Sie zuerst const, verwenden Sie LET, wenn Sie Variablen ?ndern, und vermeiden Sie die Verwendung von VAR.
