Digamos, por ejemplo, que está creando un proyecto en Backbone o lo que sea y necesita cargar scripts en un orden determinado, por ejemplo underscore.js
, debe cargarse antes backbone.js
.
¿Cómo consigo que concatene los scripts para que estén en orden?
// 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/'));
});
Tengo el orden correcto de los scripts en mi source/index.html
, pero dado que los archivos están organizados por orden alfabético, gulp se concatenará underscore.js
después backbone.js
, y el orden de los scripts en mi source/index.html
no importa, mira los archivos en el directorio.
Entonces, ¿alguien tiene una idea sobre esto?
La mejor idea que tengo es cambiar el nombre de los proveedores con los scripts 1
, 2
, 3
para darles el orden correcto, pero no estoy seguro de si me gusta este.
A medida que aprendí más, descubrí que Browserify es una gran solución, puede ser un dolor al principio, pero es genial.
require
en la parte frontal porque, por supuesto, si ha usado npm en el lado del servidor, verá cómo puede requerir módulos, pero browserify le permite hacerlo en el código del lado del cliente, mantenga para comenzar, requiere un poco de retoques, pero está principalmente dentro de package.json y si quieres usarlo con gulp.js o grunt.js. Si instala el paquete gulp / grunt browserify puede ejecutar gulp/grunt browserify
y convertir su script en un script principal, es una ligera curva de aprendizaje pero vale la pena en mi opinión.
browserify
para Angular
módulos, donde las obras de concatenación simples y el orden no importa :)