Heim Web-Frontend js-Tutorial Methoden des Gulp-Moduls

Methoden des Gulp-Moduls

Jun 15, 2018 pm 04:06 PM
gulp

1. src()
Die src-Methode des gulp-Moduls wird zum Generieren von Datenströmen verwendet. Seine Parameter stellen die zu verarbeitenden Dateien dar und diese angegebenen Dateien werden in Datenströme konvertiert. Der Parameter der

js/app.js 指定确切的文件名
js/*.js 某个目录所有后缀名为js的文件
js/**/*.js 某个目录及其所有子目录中所有后缀名为js的文件
!js/app.js 除了js/app.js以外所有文件
*.+(js css)匹配项目根目录下,所有后缀名为js或css的文件
Nach dem Login kopieren

src-Methode kann auch ein Array sein, um mehrere Mitglieder anzugeben

gulp.src(['js/**/*.js','!js/**/*.min.js'])
Nach dem Login kopieren

2 dest() Die
dest-Methode schreibt die Ausgabe der Pipeline Geben Sie die Datei ein und geben Sie diese Ausgaben weiterhin aus, sodass Sie die dest-Methode mehrmals hintereinander aufrufen können, um die Ausgabe in mehrere Verzeichnisse zu schreiben. Wenn ein Verzeichnis nicht existiert, wird es neu erstellt. Die Methode

gulp.src('./client/templates/*.jade')
      .pipe(jade())
      .pipe(gulp.dest('./build/template'))
      .pipe(minify())
      .pipe(gulp.dest('./build/minified_templates'));
Nach dem Login kopieren

dest kann auch einen zweiten Parameter akzeptieren, der angibt, dass das Konfigurationsobjekt

gulp.dest('build',{
 cwd:'./app',
 mode:'0644'})
Nach dem Login kopieren

zwei Felder hat. Das cwd-Feld gibt das Basisverzeichnis zum Schreiben des Pfads an, der Standardwert ist das aktuelle Verzeichnis; das Modusfeld gibt die Berechtigung zum Schreiben der Datei an, der Standardwert ist 0777.
3.task()
Aufgabenmethode wird verwendet, um bestimmte Aufgaben zu definieren. Sein erster Parameter ist der Aufgabenname und der zweite Parameter ist die Aufgabenfunktion. Die

gulp.task('greet',function(){
  console.log('Hello world');
});
Nach dem Login kopieren

task-Methode kann auch eine Reihe von Aufgaben angeben, die nacheinander ausgeführt werden sollen.

gulp.task('build',['css','js','imgs']);
Nach dem Login kopieren

gibt den Aufgabenaufbau an, der aus drei Aufgaben besteht: CSS, JS und IMGs. Die Task-Methode führt diese drei Aufgaben gleichzeitig aus. Beachten Sie, dass jede Aufgabe asynchron aufgerufen wird. Daher gibt es keine Möglichkeit, den Zeitpunkt zu garantieren, zu dem die js-Aufgabe mit der Ausführung beginnt.

Wenn Sie möchten, dass jede Aufgabe streng der Reihe nach ausgeführt wird, können Sie eine Aufgabe als abhängiges Modul der nächsten Aufgabe schreiben.

gulp.task('css',['greet'],function(){
  //deal with css here});
Nach dem Login kopieren

Die CSS-Aufgabe hängt von der Begrüßungsaufgabe ab, daher wird CSS auf jeden Fall ausgeführt, nachdem die Begrüßung abgeschlossen ist.

Die Rückruffunktion der Task-Methode kann auch eine Funktion als Parameter akzeptieren, was für die Ausführung asynchroner Aufgaben sehr nützlich ist.

//执行shell命令var exec=require('child_process').exec;
gulp.task('jekyll',function(cb){//build jekyllexec('jekyll build',function(err){
 if(err) return cb(err);//return error
 cb();//finished task})
})
Nach dem Login kopieren

Wenn der Name einer Aufgabe Standard ist, bedeutet dies Dies ist die Standardaufgabe. Geben Sie den Befehl gulp direkt in der Befehlszeile ein, um die Aufgabe auszuführen. Wenn

gulp.task('default',function(){
  //default task})//或者gulp.task('default',['styles','jshint','watch']);
Nach dem Login kopieren

ausgeführt wird, führt die direkte Verwendung von gulp drei Aufgaben aus: Styles, Jshint und Watch.

4 watch()
Die Watch-Methode wird verwendet, um die Dateien anzugeben, die überwacht werden müssen. Sobald diese Dateien geändert werden, wird die angegebene Aufgabe ausgeführt.

gulp.task('watch',function(){
  gulp.watch('templates/*.tmpl.html',['build']);
});
Nach dem Login kopieren

Der Code gibt an, dass die Build-Aufgabe ausgeführt wird, sobald sich die Vorlagendatei im Vorlagenverzeichnis ändert.

Die Watch-Methode kann auch eine Rückruffunktion verwenden, um die angegebene Aufgabe zu ersetzen

gulp.watch('templates/*.tmpl.html',function(event){
 console.log('Event type: '+event.type);
 console.log('Event path: '+event.path);
});
Nach dem Login kopieren

Eine andere Schreibweise ist, dass sich die von der Watch-Methode überwachten Dateien ändern (Dateien ändern, hinzufügen, löschen). , es wird Um das Änderungsereignis auszulösen, können Sie die Rückruffunktion angeben

var watcher=gulp.watch('templates/*.tmpl.html',['build']);
watcher.on('change',function (event){ console.log('Event type: '+event.type); console.log('Event path: '+event.path);
});
Nach dem Login kopieren

Zusätzlich zum Änderungsereignis kann die Überwachungsmethode auch die folgenden Ereignisse auslösen
End Wird ausgelöst, wenn Die Rückruffunktion wird ausgeführt
error Wird ausgelöst, wenn ein Fehler auftritt
ready Wird ausgelöst, wenn die Überwachungsdatei startet
nomatch Wird ausgelöst, wenn ein Fehler auftritt keine passende Überwachungsdatei

Watcher-Objekt Es enthält auch einige andere Methoden
watcher.end() stoppt das Watcher-Objekt und ruft keine Aufgaben oder Rückruffunktionen mehr auf
watcher.files() gibt die Dateien zurück Vom Watcher-Objekt überwacht
watcher.add(glob) fügt die erforderliche Datei hinzu. Die überwachte Datei kann auch mit einem zweiten Parameter angehängt werden, der die Rückruffunktion angibt
watcher.remove(filepath) entfernt eine überwachte Datei aus dem Watcher-Objekt

5.gulp-livereload-Modul
Das gulp-livereload-Modul wird verwendet, um den Browser automatisch zu aktualisieren, um die neuesten Änderungen im Quellcode widerzuspiegeln. Neben Modulen ist auch die Installation von Plug-Ins im Browser erforderlich, um Quellcodeänderungen zu bewältigen.

var gulp=require('gulp'),
     less=require('gulp-less'),
     livereload=require('gulp-livereload'),
     watch=require('gulp-watch');
gulp.task('less',function(){
   gulp.src('less/*.less')
        .pipe(watch("less/*.less") )
        .pipe(less())
        .pipe(gulp.dest('css'))
        .pipe(livereload());
})
Nach dem Login kopieren

Der Code wird verwendet, um die weniger Datei zu überwachen. Sobald die Kompilierung abgeschlossen ist, wird der Browser automatisch aktualisiert.

6 gulp-load-plugins-Modul

Im Allgemeinen müssen die Module in gulpfile.js einzeln geladen werden

var gulp=require('gulp'),
    jshint=require('gulp-jshint'),
    uglify=require('gulp-uglify'),
    concat=require('gulp-concat');
 gulp.task('js',function(){  return gulp.src('js/*.js')
           .pipe(jshint())
           .pipe(jshint.reporter('default'))
           .pipe(uglify())
           .pipe(concat('app.js'))
           .pipe(gulp.dest('build'));
})
Nach dem Login kopieren

Außer gulp Im Code werden zusätzlich zum Modul auch drei weitere Module

geladen. Diese Lademethode ist problematischer. Verwenden Sie das Modul gulp-load-plugins, um alle gulp-Module in die Datei package.json zu laden.

var gulp=require('gulp'),
 gulpLoadPlugins=require('gulp-load-plugins'),
 plugins=gulpLoadPlugins();
 gulp.task('js',function(){ return gulp.src('js/*.js')
  .pipe(plugins.jshint())
  .pipe(plugins.jshint.reporter('default'))
  .pipe(plugins.uglify())
  .pipe(plugins.concat('app.js'))
  .pipe(gulp.dest('build'));
})
Nach dem Login kopieren

Methoden des Gulp-Moduls

In diesem Artikel wird die Methode des Gulp-Moduls erläutert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

js generiert HTML als Bilder und speichert sie lokal

Drei Möglichkeiten, Funktionen in JS zu definieren

„Wahr und Falsch“ in JS

Das obige ist der detaillierte Inhalt vonMethoden des Gulp-Moduls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Wie erstelle ich meine eigenen JavaScript -Bibliotheken? Mar 18, 2025 pm 03:12 PM

In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Wie optimiere ich den JavaScript -Code für die Leistung im Browser? Mar 18, 2025 pm 03:14 PM

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Was soll ich tun, wenn ich auf den Codendruck auf Kleidungsstücke für Front-End-Thermalpapier-Quittungen stoße? Apr 04, 2025 pm 02:42 PM

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Wie debugge ich den JavaScript -Code effektiv mithilfe von Browser -Entwickler -Tools? Mar 18, 2025 pm 03:16 PM

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

Wie benutze ich Javas Sammlungsrahmen effektiv? Wie benutze ich Javas Sammlungsrahmen effektiv? Mar 13, 2025 pm 12:28 PM

In diesem Artikel wird der effektive Gebrauch des Sammlungsrahmens von Java untersucht. Es betont die Auswahl geeigneter Sammlungen (Liste, Set, Karte, Warteschlange) basierend auf Datenstruktur, Leistungsanforderungen und Thread -Sicherheit. Optimierung der Sammlungsnutzung durch effizientes Gebrauch

Wie verwende ich Quellkarten zum Debuggen, um den JavaScript -Code zu debuggen? Wie verwende ich Quellkarten zum Debuggen, um den JavaScript -Code zu debuggen? Mar 18, 2025 pm 03:17 PM

In dem Artikel wird erläutert, wie Quellkarten zum Debuggen von JavaScript verwendet werden, indem er auf den ursprünglichen Code zurückgegeben wird. Es wird erläutert, dass Quellenkarten aktiviert, Breakpoints eingestellt und Tools wie Chrome Devtools und WebPack verwendet werden.

Erste Schritte mit Chart.js: Kuchen-, Donut- und Bubble -Diagramme Erste Schritte mit Chart.js: Kuchen-, Donut- und Bubble -Diagramme Mar 15, 2025 am 09:19 AM

In diesem Tutorial wird erläutert, wie man mit Diagramm.js Kuchen-, Ring- und Bubble -Diagramme erstellt. Zuvor haben wir vier Chart -Arten von Charts gelernt. Erstellen Sie Kuchen- und Ringdiagramme Kreisdiagramme und Ringdiagramme sind ideal, um die Proportionen eines Ganzen anzuzeigen, das in verschiedene Teile unterteilt ist. Zum Beispiel kann ein Kreisdiagramm verwendet werden, um den Prozentsatz der männlichen Löwen, weiblichen Löwen und jungen Löwen in einer Safari oder den Prozentsatz der Stimmen zu zeigen, die verschiedene Kandidaten bei der Wahl erhalten. Kreisdiagramme eignen sich nur zum Vergleich einzelner Parameter oder Datensätze. Es ist zu beachten, dass das Kreisdiagramm keine Entitäten ohne Wert zeichnen kann, da der Winkel des Lüfters im Kreisdiagramm von der numerischen Größe des Datenpunkts abhängt. Dies bedeutet jede Entität ohne Anteil

Wer bekommt mehr Python oder JavaScript bezahlt? Wer bekommt mehr Python oder JavaScript bezahlt? Apr 04, 2025 am 12:09 AM

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

See all articles