Ich habe ein Projekt mit mehr als 100 Javascript-Dateien mit je 1-5 fehlenden Semikola nach JSHint (als Ergebnis mehrere Leute, die mit verschiedenen Konventionen am Projekt arbeiten).
Ich möchte alles in großen Mengen reparieren, da es nicht praktisch ist, jedes einzelne zu reparieren. Ich habe folgendes gefunden: Ссылка , aber ich sehe keine Möglichkeit, nur Semikola zu fixieren, ohne andere Dinge zu "reparieren" (Tabs - & gt zB Leerzeichen.
Weiß jemand, wie man das macht? Ich bin mit der Möglichkeit zufrieden, dass es zu Brüchen kommen kann / Bugs verursachen kann. Ich habe über die Fehler geschaut und sie sehen ziemlich Routine aus.
Ich hoffe wirklich, dass dir das als Lösung gefällt. Seien Sie vorsichtig, dass Sie mit jshint erneut überprüfen, nachdem Sie die Probleme behoben haben. Und wie haben Sie es aus Neugierde geschafft, so viele kaputte Javascript-Dateien zu bekommen?
%Vor%Das obige Beispiel verwendet jshint, um einige Fehlerzeilen zu erzeugen, greps sie nur für die fehlenden Semikolonfehler, extrahiert die Zeilennummer jedes Fehlers und seddet dann die Datei in dieser Zeile, um alle nachfolgenden Leerzeichen zu entfernen und sie durch ein Semikolon zu ersetzen .
Die Datei ...
%Vor%... wird ...
%Vor%Wo kleine semantische Fehler ignoriert und nur Semikolons behandelt werden.
Ich würde das Bash-Skript als etwas wie fixFile.sh
speichern und dann find . -name "*.js" -exec ./fixFile.sh {} \;
Aber bitte im Voraus verpflichten. Alle Befehle laufen auf eigene Gefahr;)
Es gibt eine sicherere Methode, fehlende Semikolons hinzuzufügen als mit regulären Ausdrücken. Verwenden Sie die folgenden Schritte, um fixmyjs so zu konfigurieren, dass es nur Semikolons korrigiert, wie ursprünglich von Evan gefordert:
Installieren Sie fixmyjs
npm install fixmyjs -g
Erstellen Sie eine fixmyjs-Konfigurationsdatei fixmyjs-config
mit dem folgenden Inhalt
{ "asi": false }
Führen Sie fixmyjs
aus fixmyjs --config [fixmyjs-config] --legacy yourfile.js
Referenz: Ссылка
Tags und Links javascript command-line jshint gruntjs