Powiedzmy, na przykład, że budujesz projekt w sieci szkieletowej lub czymkolwiek innym i musisz załadować skrypty w określonej kolejności, np. Trzeba underscore.js
je wcześniej załadować backbone.js
.
Jak uzyskać powiązanie skryptów, aby były w porządku?
// 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/'));
});
Mam prawo kolejność skryptów w moim source/index.html
, ale ponieważ pliki są zorganizowane według kolejności alfabetycznej, łyk będzie Concat underscore.js
po backbone.js
, a kolejność skryptów w moim source/index.html
nie ma znaczenia, to wygląda na pliki w katalogu.
Czy ktoś ma na to pomysł?
Najlepszy pomysł mam jest do zmiany nazwy skryptów dostawcy z 1
, 2
, 3
aby dać im właściwej kolejności, ale nie jestem pewien, czy mi się to podoba.
Gdy dowiedziałem się więcej, odkryłem, że Browserify to świetne rozwiązanie, na początku może być uciążliwe, ale jest świetne.
require
na frontonie, ponieważ oczywiście, jeśli używałeś npm po stronie serwera, widzisz, jak możesz wymagać modułów, ale Browserify pozwala ci to zrobić po stronie klienta, zachowaj aby zacząć, wymaga trochę majsterkowania, ale głównie w pakiecie.json i jeśli chcesz używać go z gulp.js lub grunt.js. Jeśli zainstalujesz pakiet przeszukiwania gulp / grunt, możesz uruchomić gulp/grunt browserify
i zamienić skrypt w jeden główny skrypt, jest to niewielka krzywa uczenia się, ale warto IMO.
browserify
do Angular
modułów, gdzie proste prace konkatenacji i kolejność nie ma znaczenia :)