Vorwort
In der Teamentwicklung, egal ob es sich um ein Front-End (JS, CSS, HTML) oder das Back-End handelt, müssen wir häufig ein Problem lösen: So vereinen Sie den Codestil des Teams. Dieser Artikel verwendet hauptsächlich Pre-Git-, Eslint- und JS-Beautify, um den Code-Stil zu implementieren.
Im Folgenden sind die drei Werkzeuge und Verwendungsmethoden aufgeführt:
vor dem Git
Dieses Tool kann die Funktion von Git Hook implementieren, einige benutzerdefinierte Verhaltensweisen in den Git -Prozess einfügen, z.
Eslint
Codeformat Audit -Tool, Sie können verschiedene Stile nach Belieben kombinieren und konfigurieren und es verwenden, um die einheitlichen Codespezifikationen eines Teams zu bilden.
JS-beautiful
JS -Code -Organisation und Verschönerungstools.
Dann kooperieren die drei Werkzeuge miteinander, um die folgenden Effekte zu erzeugen:
1. Der Projektleiter definiert die Codespezifikationen von Eslint.
2. Verwenden Sie Pre-Git, um die Überwachung der Eslint-Code und die Verschönerung des JS-beautifulen Code vor dem Verhältnis auszuführen
3. Wenn bestanden, "git add" automatisch. dürfen schieben dürfen.
erreichen
1: NPM Installieren Sie die oben genannten Werkzeuge
$ npm install eslint js-beautify pre-git --save-dev
Zwei: Werkzeugkonfiguration
Erstellen Sie eine neue .eslintrc.json -Datei im Stammverzeichnis und konfigurieren Sie die Spezifikationen und geben Sie ihr eine vereinfachte Version:
Hinweis: Wenn Sie weitere Tests benötigen, besuchen Sie bitte die offizielle Website der Eslint -Website
{"Regeln": {"Comma-Dangle": ["Fehler", "nie"], "Arrow-Body-Stil": ["Warn", "Immer"], "no-const-significAufgrund von Tests gibt es immer Fehler bei der Verwendung von JS-Beautiful rekursiven Mehrschichtdateien in Bash. Daher wird ein Skript verwendet, um den Code zu verschönern:
Beatufyjs.js
const fs = require ('fs'); const path = require ('path'); const child_process = require ('chirt_process'); für (let arg von process.argv.SPLICE (2)) {let pathname = path.join (prozess.cwd (), arg); if (isFile (path.join (process.cwd (), arg))) {child_process.exec (`. msg.replace ('//// n', '')); } else {read_dir (pathname); }} function read_dir (Dir) {let files = fs.readdirsync (Dir); für (lass Datei von Dateien) {lass pathname = path.join (Dir, Datei); if (isFile (pathname)) {chirt_process.exec (`./node_modules/js-beautify/js/bin/js-beautify ); } else {read_dir (pathname); }}} function isFile (path) {return exists (path) && fs.statSync (path) .isfile (); } Funktion existiert (Pfad) {return fs.existsSync (Pfad) || Path.ExistsSync (Path); }Drei: Verwenden Sie die obigen Werkzeuge
Konfigurieren Sie in der Datei package.json:
{"Name": "Demo", "Version": "1.0.0", "Beschreibung": "", "Main": "Index.js", "Skripte": {"Lint": "/Node_Modules/.bin/eslint Routes Runtime utils libin-Quiet ", Lint-fixe": ":": ". -Quiet--fix "," JS-Beautify ":" Node ---harmony-Use_Stric. Lint-fix "," NPM Run JS-Beautify "," Git Add. " ], "pre-push": [], "post-commit": [], "post-checkout": [], "post-merge": [] } }, "devDependencies": { "eslint": "^2.12.0", "js-beautify": "^1.6.3", "pre-git": "^3.9.1" }}Wenn Sie zu diesem Zeitpunkt eine der Dateien ändern und dann "git add && git commit -m 'msg'" "" werden die drei Befehle in der Vorversorgung ausgeführt. Wenn in der Mitte ein Fehler vorliegt, wird die Einreichung gestoppt und die Einreichung nach Abschluss der Änderung fortgesetzt.
Eine Sache zu beachten ist, dass, wenn einige Formatprobleme nicht ausreichen, um einen Fehler zu melden, die Änderungsmethode automatisch den Optimierungscode ändert und ihn automatisch hinzufügen und addiert. Im letzten Schritt führen Sie einfach aus: Git Push ! Kann mit Einheitstests kombiniert werden, besser
Zusammenfassen
Das obige ist der Inhalt der automatischen Überprüfung des Teams des Teams mit node.js. Wenn Sie es brauchen, können Sie sich darauf verweisen.