Concat les scripts dans l'ordre avec Gulp

Dire, par exemple, vous êtes la construction d'un projet sur l'épine Dorsale ou quoi que ce soit et vous avez besoin de charger des scripts dans un certain ordre, par exemple underscore.js doit être chargé avant backbone.js.

Comment puis-je obtenir pour concat les scripts de sorte qu'ils sont 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 droit afin de scripts dans mon source/index.html, mais vu que les fichiers sont organisés par ordre alphabétique, gulp sera concat underscore.js après backbone.js, et l'ordre des scripts dans mon source/index.html n'a pas d'importance, il regarde les fichiers dans le répertoire.

Si quelqu'un a une idée sur ce point?

Meilleure idée que j'ai, c'est de renommer le vendeur scripts avec 1, 2, 3 de leur donner le bon ordre, mais je ne sais pas si j'aime ça.

Comme je l'ai appris plus j'ai trouvé Browserify est une excellente solution, il peut être une douleur au début, mais c'est génial.

  • Je pourrais mentionner que maintenant-a-jours, je suis à l'aide de browserify. Il a sa propre petite courbe d'apprentissage de l'OMI. J'ai eu du mal au début, mais gulp browserify est une façon cool pour aller! En permettant à votre code pour être modulaire! Vous gérer l'ordre dans une cale, donc la concaténation n'est pas nécessaire lors de l'utilisation de browserify.
  • Soins à donner plus de détails pour que votre solution ou un lien?
  • kroltech.com/2013/12/... voici un lien vers un standard sur le projet qui m'a vraiment aidé à démarrer avec une bonne gestion de projet. Après la souffrance de l'apprentissage de tout cela, je peux gérer mes projets beaucoup mieux. Il a le projet sur github et vous pouvez voir comment il utilise browserify. Youtube est toujours utile et bien sûr la source elle-même est toujours sous-estimé github.com/substack/node-browserify#usage
  • Fondamentalement, l'idée est de pouvoir utiliser npm comme la syntaxe avec require sur l'extrémité avant, parce que bien sûr, si vous avez utilisé npm sur votre serveur de côté, vous voyez comment vous pouvez exiger des modules, mais browserify vous permet de le faire sur le côté client code, gardez à l'esprit pour commencer, il nécessite un peu de bricolage, mais c'est surtout à l'intérieur de l'emballage.json et si vous voulez l'utiliser avec gulp.js ou grunt.js. Si vous installez le gulp/grunt browserify, vous pouvez exécuter gulp/grunt browserify et transformer votre script dans un script, c'est une légère courbe d'apprentissage, mais il vaut de l'OMI.
  • Merci! En fait je suis tombé sur l'excellent article de medium.com/@dickeyxxx/... un bon point que vous n'avez pas vraiment besoin browserify pour Angular modules, où la simple concaténation des œuvres et de l'ordre n'a pas d'importance 🙂
  • Nice, je vais vous donner une lecture de la curiosité. Je suis à l'aide de backbone.js et pas angular.js donc, dans mon cas, il semble que j'ai besoin de coller à browserify.
  • Je suis l'aide de bower pour la gestion de mon côté client dépendances et il fonctionne très bien avec gulp. main-bower-fichiers peut être utilisé pour obtenir une liste de toutes les sources afin que vous pouvez alors concat et uglify.
  • essayez d'utiliser gulp-de l'ordre de package