Heim > Web-Frontend > js-Tutorial > Hauptteil

Methoden des Gulp-Moduls

jacklove
Freigeben: 2018-06-15 16:06:02
Original
1466 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!