Digamos, por exemplo, que você esteja construindo um projeto no Backbone ou qualquer outra coisa e precise carregar scripts em uma determinada ordem, por exemplo, underscore.js
precisa ser carregado antesbackbone.js
.
Como faço para concatenar os scripts para que eles estejam em ordem?
// 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/'));
});
Eu tenho a ordem correta dos scripts no meu source/index.html
arquivo, mas como os arquivos são organizados por ordem alfabética, o gulp concatena underscore.js
depois backbone.js
, e a ordem dos scripts no meu source/index.html
não importa, ele examina os arquivos no diretório
Então, alguém tem uma idéia sobre isso?
Melhor ideia que eu tenho é renomear os scripts de fornecedores com 1
, 2
, 3
para lhes dar a ordem correta, mas não tenho certeza se eu assim.
À medida que aprendi mais, descobri que o Browserify é uma ótima solução, pode ser uma dor no começo, mas é ótimo.
require
no front-end, porque é claro que se você usou o npm no servidor, você vê como pode exigir módulos, mas o browserify permite fazer isso no código do cliente, mantenha em mente, para começar, é necessário um pouco de ajustes, mas está principalmente dentro do package.json e se você deseja usar com o gulp.js ou o grunt.js. Se você instalar o pacote gulp / grunt browserify, poderá executar gulp/grunt browserify
e transformar seu script em um script principal, é uma pequena curva de aprendizado, mas vale a pena IMO.
browserify
de Angular
módulos, onde obras de concatenação simples e ordem não importa :)