2017-04-19 8 views
0

Ich habe eine Schluckaufgabe, die Favicons generiert. Ich möchte diese Aufgabe in mehreren Projekten wiederverwenden. Es basiert auf der Schluckdatei, die realfavicongenerator.net ausgibt.Verwenden Sie eine Schluckaufgabe in mehreren Projekten

Wie kann ich das angehen? Der Favicon Generator Task ist ein Git Repo, könnte es als Submodul in meinen anderen Projekten git Repos referenziert werden? Oder sollte ich schauen, um dies als ein NPM oder Bower-Paket zu generieren.

Ich würde gerne einige Optionen an die Generator-Aufgabe übergeben, um die Standardeinstellungen zu überschreiben.

Ich bin nicht sicher, wo ich anfangen soll, jede Hilfe in die richtige Richtung würde sehr geschätzt werden.

Dank

+0

War meine Antwort auf irgendeine Hilfe? Wenn nicht, würden Sie uns etwas Feedback zu Ihren Bedürfnissen geben? Wenn Sie eine andere Antwort gefunden haben, sollten Sie sie schreiben und akzeptieren. –

+1

Hallo Emile, ich habe angefangen, mir das anzuschauen und habe Fortschritte gemacht, aber ich musste das jetzt wegen der Arbeitsprioritäten verlassen, ich werde dich wissen lassen, wie es mir geht - danke, – onebitrocket

Antwort

1

ich wiederverwendbar schluck Aufgaben gemacht, da wir mehrere Frontend-Projekte alle mit großen Schluck hatte. Der beste Weg, den ich gefunden habe, war ein privates npm-Paket zu erstellen, das ich in den anderen Projekten mit seiner Git-URL hinzufüge.

Bauen Sie ein Node.js Modul von gemeinsam nutzbaren Aufgaben

Alles, was Sie brauchen, ist ein Repo mit einem index.js und einem package.json. Installieren Sie die erforderlichen Schluckabhängigkeiten und speichern Sie sie in der Paketdatei.

Exportieren Sie im index.js die Funktionen, die Sie als Aufgaben verwenden möchten.

const gulp = require('gulp'), 
    gulpif = require('gulp-if'), 
    concat = require('gulp-concat'), 
    args = require('yargs').argv; 

module.exports = { 
    concat: function(src, dest, options) { 
     return gulp.src(src) 
      .pipe(gulpif(args.prod, concat())) 
      .pipe(gulp.dest(dest)); 
    } 
}; 

Da dieses Modul werden die meisten Abhängigkeiten, die Aufgaben zu machen, erforderlich verwenden, wird Ihre anderen Projekte Abhängigkeiten auf das Minimum schrumpfen sie explizit benötigen.

Ihre Aufgaben Modul verwenden

Dann das Paket mit seiner git URL in Ihren anderen Projekten installieren.

npm install --save-dev git+ssh://[email protected]:onebitrocket/onebitrocket-gulp-utils.git 

Dieses git URL-Format funktioniert auch mit yarn.

Und in Ihrem Projekt gulpfile.js, verwenden Sie es einfach.

const gulp = require('gulp'), 
     onebitrocket = require('onebitrocket-gulp-utils'); 

// use a function which returns the result of your util. 
gulp.task('js',() => onebitrocket.concat('src/**/*.js', 'www/')); 

Hinweis: Es ist nicht nötig ist, das Paket zu dem npm Register zu veröffentlichen, um es zu benutzen. Alles, was Sie brauchen, ist Lesezugriff auf das Repo.

+1

Ich gehe endlich um, um daran zu arbeiten. Funktioniert gut. Für was es wert ist, abstrahiere ich die Schluckaufgabe, die von realfavicongenerator in einem wiederverwendbaren Modul über mehrere Projekte generiert wird, die die gleiche Ausgabe benötigen. – onebitrocket

Verwandte Themen