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的文件
src-Methode kann auch ein Array sein, um mehrere Mitglieder anzugeben
gulp.src(['js/**/*.js','!js/**/*.min.js'])
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'));
dest kann auch einen zweiten Parameter akzeptieren, der angibt, dass das Konfigurationsobjekt
gulp.dest('build',{ cwd:'./app', mode:'0644'})
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'); });
task-Methode kann auch eine Reihe von Aufgaben angeben, die nacheinander ausgeführt werden sollen.
gulp.task('build',['css','js','imgs']);
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});
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}) })
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']);
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']); });
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); });
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); });
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()); })
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')); })
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')); })
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
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!