Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mais de um gulp.src()

Posso ter mais de um gulp.src, dentro de uma task? Por exemplo:

  • gulp.watch(path.sass + '*.scss').on('change', function(event) {

    gulp.src(event.path) .pipe(plumber()) .pipe(sass()) .pipe(gulp.dest(path.css))

    gulp.src("WebContent/resources/scss/style.scss") .pipe(plumber()) .pipe(sass()) .pipe(gulp.dest(path.css));

    });

4 respostas

Pode sim, mas o ideal é separar porque cada task atua sobre uma única origem (src). Mas não é regra. Na maioria das vezes não faz sentido, aliás.. isso pode lhe causar problemas em processamentos assíncronos.

Olá Flávio,

Eu tenho tido esse problema de rodar as tasks de forma assíncrona.

A ideia era que toda vez que rodasse a task para compilar arquivos sass genéricos, depois compilasse o arquivo "style.scss" - já que ele concatena todos os arquivos.

Tem alguma forma de rodar essas tasks de forma síncrona?

Se dentro do watch você chamar tasks diferentes, elas serão rodadas assincronamente por padrão. Pelo o que eu entendi, você quer que elas sejam executadas dessa forma certo?

Tenho um código antigão escrito em gulp no meu repositório que na task que observa o arquivo eu realizado várias operações. Dá uma conferida:

https://github.com/flaviohenriquealmeida/gulp-features/blob/master/gulpfile.js

Sucesso e bom estudo meu aluno!

solução!

Olá Flávio,

Na verdade eu queria executar de forma síncrona.

O motivo da minha dúvida tinha sido causado pelo mau entendimento de como funciona as "partials" do sass. Eu acha que tinha que compila-los separadamente e depois compilar o style.scss para pegar as alterações.

Acontece que quando faço um import das "partials" dentro styles.scss o sass já concatena e recompila tudo para mim, então não preciso de execução da compilação de forma síncrona (primeiro as partials e depois o style.scss).

Obrigado pela referencia do seu código - já dei uma olhada e já comecei a aproveitar algumas coisas de lá.

Abrs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software