Ich habe viele HTML-Dokumente im Stamm meiner Projekte. Nehmen wir ein einfaches skelettiertes HTML-Dokument wie folgt:
%Vor%Jetzt, bevor ich diese Dateien an das Entwicklungsteam sende, werde ich mit der Aufgabe beauftragt, zu überprüfen, dass es keine Links gibt, die keine href haben und leere href oder ein leeres Fragment als href haben. I.e.,
Grundsätzlich kann es keine Likes wie diese geben:
%Vor%oder
%Vor%oder
%Vor%Ich fand dieses Schluck-Plugin und ich habe ein paar Probleme damit. Schauen wir uns zuerst die Schluckdatei an:
%Vor% Beachten Sie, dass wenn Sie die Option checkLinks: true
übergeben, dies nicht nur für die a
-Tags gilt, sondern für alle genannten Tags. auf dieser Seite . Das Plugin hat kein Problem, wenn das <a>
-Tag leer ist oder nur ein # hat oder überhaupt nicht vorhanden ist.
Sehen Sie, was passiert, wenn ich die Schluckaufgaben ausführe:
Was ich stattdessen möchte ist, wenn nur die a
-Links überprüft werden könnten und wenn das <a>
-Tag keine href oder einen leeren Wert oder nur ein # hat, dann sollte es einen Fehler oder werfen Zeigen Sie es im zusammenfassenden Bericht.
Schließlich sehe ich im Beispiel der Schluckdatei, wie ich das PageUrl (d. h. die grundsätzlich zu überprüfenden Seiten) wie folgt übergebe:
%Vor% Wie kann ich stattdessen dieses Plugin anweisen, nach allen .html
-Dateien im Gulp-Test
-Verzeichnis zu suchen?
Also, um meine Frage zusammenzufassen: Wie bekomme ich dieses Plugin einen Fehler zu werfen (dh im zusammenfassenden Bericht zeigen), wenn es eine <a>
ohne href
oder eine href, die leer ist oder einen Wert von hat # und wie kann ich dieses Plugin anweisen, nach allen .html Dateien in einem Verzeichnis zu suchen.
Mir wurde die Aufgabe zugewiesen zu überprüfen, dass es keine Links gibt, die keine href haben und leere href oder ein leeres Fragment als href haben.
Wenn das alles ist, was Sie brauchen, brauchen Sie wirklich keine Schluck-Plugins. Und es ist zweifelhaft, dass Sie auf jeden Fall etwas finden, das Ihren spezifischen Anforderungen entspricht.
Sie können das aber ganz einfach selbst erledigen. Alles, was Sie wirklich tun müssen, ist:
gulp.src()
through2
. cheerio
). gutil.log()
, damit Sie wissen, was Sie beheben müssen. gutil.PluginError
, damit Ihr Build fehlschlägt (dies ist optional) . Hier ist eine Gulpfile, die genau das tut (unter Bezugnahme auf die obigen Punkte in Kommentaren):
%Vor% Running gulp checkLinks
mit einem Gulp-Test/index.html
like so ...
... ergibt folgende Ausgabe:
%Vor%Tags und Links javascript html gulp