Supponiamo, ad esempio, che stai costruendo un progetto su Backbone o qualsiasi altra cosa e che devi caricare gli script in un determinato ordine, ad esempio, devi underscore.jsprima caricarli backbone.js.
Come ottengo per concatenare gli script in modo che siano in ordine?
// JS concat, strip debugging and minify
gulp.task('scripts', function() {
gulp.src(['./source/js/*.js', './source/js/**/*.js'])
.pipe(concat('script.js'))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest('./build/js/'));
});
Ho il giusto ordine di script nel mio source/index.html, ma dal momento che i file sono organizzati in ordine alfabetico, gulp si concatenerà underscore.jsdopo backbone.jse l'ordine degli script nel mio source/index.htmlnon ha importanza, guarda i file nella directory.
Qualcuno ha un'idea su questo?
Migliore idea che ho è di rinominare gli script vendor con 1, 2, 3per dare loro il giusto ordine, ma non sono sicuro se mi piace questo.
Come ho imparato di più ho scoperto che Browserify è un'ottima soluzione, all'inizio può essere una seccatura ma è grandiosa.
requireil front-end perché ovviamente se hai usato npm sul tuo server vedi come puoi richiedere moduli, ma browserify ti consente di farlo sul codice lato client, mantieni in mente per iniziare richiede un po 'di armeggiamento, ma è principalmente all'interno di package.json e se si desidera utilizzare con gulp.js o grunt.js. Se installi il pacchetto browserify gulp / grunt che puoi eseguire gulp/grunt browserifye trasformare il tuo script in uno script principale, è una leggera curva di apprendimento ma ne vale la pena IMO.
browserifyper i Angularmoduli, dove la concatenazione semplice funziona e l'ordine non importa :)