Disons, par exemple, que vous construisez un projet sur Backbone ou autre et que vous devez charger des scripts dans un certain ordre, par exemple underscore.js
doit être chargé avantbackbone.js
.
Comment puis-je faire concaténer les scripts afin qu'ils soient dans l'ordre?
// 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/'));
});
J'ai le bon ordre de scripts dans mon source/index.html
, mais comme les fichiers sont organisés par ordre alphabétique, gulp concatent underscore.js
après backbone.js
, et l'ordre des scripts dans monsource/index.html
n'a pas d'importance, il regarde les fichiers dans le répertoire.
Alors, quelqu'un a-t-il une idée à ce sujet?
Meilleure idée que j'ai est de renommer les scripts de fournisseurs avec 1
, 2
,3
pour leur donner l'ordre, mais je ne suis pas sûr si je comme ça.
Au fur et à mesure que j'en apprenais plus, j'ai trouvé que Browserify était une excellente solution, cela peut être pénible au début, mais c'est génial.
require
sur le front-end car bien sûr, si vous avez utilisé npm sur votre serveur, vous voyez comment vous pouvez exiger des modules, mais browserify vous permet de le faire sur le code côté client, gardez en tête, pour commencer, il faut un peu de bricolage, mais c'est principalement à l'intérieur du package.json et si vous voulez l'utiliser avec gulp.js ou grunt.js. Si vous installez le package browserify gulp / grunt, vous pouvez exécuter gulp/grunt browserify
et transformer votre script en un script principal, c'est une légère courbe d'apprentissage mais ça vaut le coup IMO.
browserify
de Angular
modules, où la simple concaténation fonctionne et l'ordre n'a pas d'importance :)