


Was ist der Grund, warum nur die letzten von mehreren schöneren Plugins wirksam sind? Wie löst ich es?
Die Ursache und Lösung für nur den letzten der schöneren Plugins, die wirksam werden, um wirksam zu werden
Dieser Artikel analysiert das Problem, dass nur der letzte der schöneren benutzerdefinierten Plugins effektiv ist und detaillierte Lösungen bietet.
Problembeschreibung:
Benutzer haben zwei hübschere Plugins entwickelt: prettier-plugin-self-closing-tags
und prettier-plugin-transform-imports
. In der Konfigurationsdatei .prettierrc.js
wurden beide Plugins in das plugins
Array aufgenommen, aber beim tatsächlich ausgeführten Ausführen wirkt sich nur prettier-plugin-transform-imports
in Kraft, während prettier-plugin-self-closing-tags
fehlschlagen. Die interne Logik der beiden Plugins ist ähnlich, und beide verarbeiten den Code in preprocess
über die withPluginsPreprocess
-Funktion.
Die Konfiguration .prettierrc.js
lautet wie folgt:
// .Prettierrc.js const prettierpluginselfclosingTags = erfordern ('./. Prettier-Plugins/Prettier-Plugin-Self-Clloss-tags.js'); const prettierpluginTransformimports = require ('./. Prettier-Plugins/Prettier-Plugin-transform-imports.js'); module.exports = { Singlequote: wahr, Plugins: [ PrettierpluginTransformimports, PrettierpluginselfclosingTags, ], };
prettier-plugin-self-closing-tags
Plugin-Code-Snippet:
// Prettier-Plugin-Self-Clloss-Tags // ... (Code weggelassen) ... const WitluginProcess = (Parser) => { zurückkehren { ... Parser, Vorverarbeitung: (Code, Optionen) => selfclosingTagSpreprozessor ( Parser.Proprocess? Parser.Proprocess (Code, Optionen): Code, Optionen ), }; }; module.exports = { Parsers: { Babel: WithpluginProcess (Babelparser.Babel), 'Babel-TS': WithpluginProcess (Babelpeler ['Babel-TS']), TypeScript: WithpluginProcess (TypeScriptParsers.Typescript), }, };
Die Wurzel des Problems:
Der Plugin -Lademechanismus von Prettier verursacht dieses Problem. Das später geladene Plugin überschreibt die zuvor geladene preprocess
des Plugins. In diesem Beispiel wird nach dem Laden prettier-plugin-transform-imports
geladen, und seine preprocess
überschreibt preprocess
von prettier-plugin-self-closing-tags
, sodass nur prettier-plugin-transform-imports
Verarbeitung wirksam wird.
Lösung:
Der Konflikt tritt auf, weil beide Plugins die preprocess
geändert haben. Es gibt zwei Lösungen:
Führen Sie Plug-Ins zusammen: Zusammenführen Sie die Logik von zwei Plug-Ins in ein Plug-In. Dies ist die einfachste Lösung, um Konflikte zwischen Plug-Ins zu vermeiden.
-
Ändern Sie die Plug-in-Logik, um die serielle Ausführung zu implementieren: Vermeiden Sie die direkte Überschreibung
preprocess
. Die folgenden Methoden können berücksichtigt werden:- Verwenden Sie unterschiedliche Verarbeitungsstufen: Schöner bietet mehrere Verarbeitungsstadien wie
preparse
,parse
,print
usw. Die Logik der beiden Plug-Ins kann verschiedenen Verarbeitungsstadien zugewiesen werden, um Konflikte zu vermeiden. -
preprocess
: In derpreprocess
eines Plug-Ins rufen Sie diepreprocess
eines anderen Plug-Ins auf, um eine serielle Ausführung zu erzielen. Dadurch muss der Plugin -Code geändert werden, um die korrekte Verarbeitungsreihenfolge sicherzustellen. - Benutzerdefinierte Verarbeitungsfunktionen: Vermeiden Sie es,
preprocess
direkt zu ändern, sondern erstellen Sie stattdessen benutzerdefinierte Verarbeitungsfunktionen und rufen Sie diese Funktionen im Plug-In auf.
- Verwenden Sie unterschiedliche Verarbeitungsstufen: Schöner bietet mehrere Verarbeitungsstadien wie
Welche Methode zu wählen, hängt von der Komplexität des Plugins und der Codestruktur ab. Das Zusammenführen von Plugins ist normalerweise die einfachste und effizienteste Lösung, und diese Methode wird dringend empfohlen, wenn die Plugin -Logik einfach und relevant ist. Wenn die Plug-in-Logik komplex und unabhängig voneinander ist, müssen Sie entsprechende Verarbeitungsstufen oder benutzerdefinierte Verarbeitungsfunktionen sorgfältig analysieren und auswählen, um Konflikte zu vermeiden. Dies erfordert ein tiefes Verständnis des schöneren Plugin -Mechanismus.
Das obige ist der detaillierte Inhalt vonWas ist der Grund, warum nur die letzten von mehreren schöneren Plugins wirksam sind? Wie löst ich es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

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

Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Die folgenden Schritte können verwendet werden, um das Problem zu beheben, das Navicat keine Verbindung zur Datenbank herstellen kann: Überprüfen Sie die Serververbindung, stellen Sie sicher, dass der Server ausgeführt wird, adressiert und port korrekt und die Firewall erlaubt Verbindungen. Überprüfen Sie die Anmeldeinformationen und bestätigen Sie, dass der Benutzername, das Kennwort und die Berechtigungen korrekt sind. Überprüfen Sie Netzwerkverbindungen und Fehlerbehebung mit Netzwerkproblemen wie Router oder Firewall -Fehlern. Deaktivieren Sie SSL -Verbindungen, die von einigen Servern möglicherweise nicht unterstützt werden. Überprüfen Sie die Datenbankversion, um sicherzustellen, dass die Navicat -Version mit der Zieldatenbank kompatibel ist. Passen Sie das Verbindungs -Zeitüberschreitende an und erhöhen Sie für Remote- oder langsamere Verbindungen das Zeitüberschreitungszeitübergang. Andere Problemumgehungen, wenn die oben genannten Schritte nicht funktionieren, können Sie versuchen, die Software neu zu starten, einen anderen Verbindungsfahrer zu verwenden oder den Datenbankadministrator oder den offiziellen Navicat -Support zu konsultieren.

Der Redis -Speicher steigt: zu großes Datenvolumen, unsachgemäße Datenstrukturauswahl, Konfigurationsprobleme (z. B. MaxMemory -Einstellungen zu klein) und Speicherlecks. Zu den Lösungen gehören: Löschen abgelaufener Daten, Verwendung der Komprimierungstechnologie, Auswahl geeigneter Strukturen, Anpassung der Konfigurationsparameter, der Überprüfung von Speicherlecks im Code und regelmäßiger Überwachung der Speicherverwendung.

HSDFS -Konfiguration (Hadoop Distributed Datei Systems) im Unter -CentOS beim Aufbau eines Hadoophdfs -Clusters auf CentOS, einige häufige Missverständnisse können zu einer Verschlechterung der Leistung, dem Datenverlust und sogar der Cluster können nicht starten. Dieser Artikel fasst diese häufigen Probleme und ihre Lösungen zusammen, um diese Fallstricke zu vermeiden und die Stabilität und den effizienten Betrieb Ihres HDFS -Clusters zu gewährleisten. Fehlerbewusstseinsfehler: Problem: Problem: Rackbewusstliche Informationen werden nicht korrekt konfiguriert, was zu einer ungleichmäßigen Verteilung der Datenblock-Replikas und der Erhöhung der Netzwerkbelastung führt. Lösung: Überprüfen Sie die rackbewusste Konfiguration in der Datei HDFS-site.xml und verwenden Sie HDFSDFSAdmin-Printtopo

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Berechtigungen Probleme und Lösungen für die Miniominstallation im Rahmen des CentOS -Systems Bei der Bereitstellung von Minio in CentOS -Umgebung sind Erlaubnisprobleme häufige Probleme. In diesem Artikel werden mehrere allgemeine Berechtigungsprobleme und ihre Lösungen eingeführt, damit Sie die Installation und Konfiguration von Minio reibungslos abschließen können. Ändern Sie das Standardkonto und Kennwort: Sie können den Standard -Benutzernamen und das Standardkennwort ändern, indem Sie die Umgebungsvariablen minio_root_user und minio_root_password einstellen. Nach der Änderung wird der Neustart des Minio -Dienstes wirksam. Konfigurieren von Bucket Access -Berechtigungen: Das Einstellen des Bucket in die Öffentlichkeit führt dazu, dass das Verzeichnis durchquert wird, was ein Sicherheitsrisiko darstellt. Es wird empfohlen, die Richtlinien des Bucket -Zugriffs anzupassen. Sie können Minio verwenden

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

PHPMYADMIN kann verwendet werden, um Datenbanken in PHP -Projekten zu erstellen. Die spezifischen Schritte sind wie folgt: Melden Sie sich bei PHPMYADMIN an und klicken Sie auf die Schaltfläche "Neu". Geben Sie den Namen der Datenbank ein, die Sie erstellen möchten, und beachten Sie, dass sie den MySQL -Namensregeln entsprechen. Set Zeichensätze wie UTF-8, um verstümmelte Probleme zu vermeiden.
