Es gibt gulp-requirejs Plugin, aber es ist blacklisted mit der folgenden Meldung: "Verwenden Sie das require.js Modul direkt".Verwenden requirjs Optimierer Knotenmodul mit Gulp
Die Dokumente sind ziemlich spärlich, wie würde ich es am besten in Verbindung mit Gulp bauen Aufgabe verwenden?
Im docs gibt ein Beispiel:
var requirejs = require('requirejs');
var config = {
baseUrl: '../appDir/scripts',
name: 'main',
out: '../build/main-built.js'
};
requirejs.optimize(config, function (buildResponse) {
//buildResponse is just a text output of the modules
//included. Load the built file for the contents.
//Use config.out to get the optimized file contents.
var contents = fs.readFileSync(config.out, 'utf8');
}, function(err) {
//optimization err callback
});
Aber das macht mir nicht viel helfen ... Hier ist mein bester Versuch:
var gulp = require('gulp'),
r = require('requirejs').optimize;
var config2 = {
baseUrl: 'src/js',
name: 'config',
out: 'dist/js/main-built.js'
};
gulp.task('scripts3', function() {
gulp.src(['src/js/**/*.js'])
.pipe(r(config)
.pipe(gulp.dest(config.out))
});
Aber das requirejs Modul nicht-Streams verwenden , also wird es nicht funktionieren.
Es gibt auch die sehr Gulp freundliche amd-optimize, aber es ist nicht das gleiche wie r.js, noch.
Nun, ich habe nicht verwendet Schluck. Aber ich habe gute Kenntnisse um RequireJS und grunzen und nicht grunzen ... Also was sind das für Ströme, können wir nicht wie normale Aufgaben im Schluck verwenden? – Vishwanath
Gulp verwendet [Knotenströme] (https://nodejs.org/api/stream.html) und [Vinyl] (https://github.com/wearefractal/vinyl). Vinyl ist an diesem Punkt schwarze Magie, [hier ist] (https://medium.com/@contrahacks/gulp-3828e8126466) ein toller Beitrag dazu. Ich habe gerade [gerade diese Ausgabe] (https://github.com/jrburke/r.js/issues/785) gefunden, die gerade damit beschäftigt ist. –
Ich könnte einfach den Shell-Befehl mit Gulp-Shell ausführen. –