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.js
prima 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.js
dopo backbone.js
e l'ordine degli script nel mio source/index.html
non 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
, 3
per 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.
require
il 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 browserify
e trasformare il tuo script in uno script principale, è una leggera curva di apprendimento ma ne vale la pena IMO.
browserify
per i Angular
moduli, dove la concatenazione semplice funziona e l'ordine non importa :)