Angenommen, Sie underscore.jserstellen ein Projekt auf Backbone oder was auch immer und müssen Skripte in einer bestimmten Reihenfolge laden, z. B. müssen sie zuvor geladen werden backbone.js.
Wie kann ich die Skripte so zusammenfassen, dass sie in Ordnung sind?
// 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/'));
});
Ich habe die richtige Reihenfolge der Skripte in meinem source/index.html, aber da die Dateien in alphabetischer Reihenfolge organisiert sind, konzentriert sich gulp underscore.jsdanach backbone.jsund die Reihenfolge der Skripte in meinem source/index.htmlspielt keine Rolle. Es werden die Dateien im Verzeichnis angezeigt .
Hat jemand eine Idee dazu?
Beste Idee , die ich habe , ist die Kreditoren Skripte umbenennen 1, 2, 3ihnen die richtige Reihenfolge zu geben, aber ich bin nicht sicher , ob ich so.
Als ich mehr erfuhr, fand ich, dass Browserify eine großartige Lösung ist. Es kann zunächst schmerzhaft sein, aber es ist großartig.
requireim Front-End zu verwenden, denn wenn Sie npm auf Ihrer Serverseite verwendet haben, sehen Sie natürlich, wie Sie Module benötigen können, aber browserify ermöglicht es Ihnen, dies auf dem clientseitigen Code zu tun Um loszulegen, muss man ein wenig basteln, aber es befindet sich hauptsächlich in package.json und wenn Sie es mit gulp.js oder grunt.js verwenden möchten. Wenn Sie das gulp / grunt browserify-Paket installieren, können Sie gulp/grunt browserifyIhr Skript ausführen und in ein Hauptskript verwandeln. Dies ist eine leichte Lernkurve, aber es lohnt sich IMO.
browserifyfür AngularModule nicht wirklich benötigen , bei denen einfache Verkettung funktioniert und die Reihenfolge keine Rolle spielt :)