Skip to content

Instantly share code, notes, and snippets.

@dhoko
Last active August 29, 2015 14:01
Show Gist options
  • Save dhoko/d333c6105459c59ff0d9 to your computer and use it in GitHub Desktop.
Save dhoko/d333c6105459c59ff0d9 to your computer and use it in GitHub Desktop.
Template
// Fichier dans le dossier task pour le cas deux
var gulp = require('gulp'),
concat = require("gulp-concat")
es = require('event-stream')
partials = require('gulp-partial-to-script')
streamqueue = require('streamqueue');
module.exports = function() {
"use strict";
return es.merge(
gulp.src([
'./src/layout/header.html',
'./src/layout/body.html'
]),
gulp.src('./src/partials/**/*.html').pipe(partials()),
gulp.src([
'./src/layout/footer.html',
])
)
.pipe(concat('index.html'))
.pipe(gulp.dest('./build'));
};
// Cas d'origine: ça fonctionne parfaitement
gulp.watch(["./src/layout/**/*","./src/partials/**/*"], ["templates"]);
gulp.task('templates', function() {
return es.merge(
gulp.src([
'./src/layout/header.html',
'./src/layout/body.html'
]),
gulp.src('./src/partials/**/*.html').pipe(partials()),
gulp.src([
'./src/layout/footer.html',
])
)
.pipe(concat('index.html'))
.pipe(gulp.dest('./build'))
.pipe(livereload(server));
});
// Cas deux, la task est dans un fichier
gulp.watch(["./src/layout/**/*","./src/partials/**/*"], ["templates"])
.on("change", function(file) {
livereload(server).changed(file.path);
});
gulp.task('templates', require('./tasks/template'));
@dhoko
Copy link
Author

dhoko commented May 12, 2014

Doc :

J'ai relu la documentation pour vérifier, nop c'est bon.

Je lance gulp mon app se lance donc mes templates sont ok. Au watch ça plante, je dois faire deux fois CTRL S.

  • J'ai testé en coupant la tâche en deux
  • En mixant les src
  • Avec es.concat
  • Avec streamQueue
  • Avec un gulp.start à la rache

Rien à faire seule la solution 1 fonctionne comme je le veux. (Je veux le faire sans mettre un setTimeout :/ dans le cas deux)

@MoOx
Copy link

MoOx commented May 13, 2014

Dans ton cas 2 tu as bien ça ?

gulp.task('templates', require('./tasks/template'));
module.exports = function() {
    gulp.watch(["./src/layout/**/*","./src/partials/**/*"], ["templates"])
        .on("change", function(file) {
            livereload(server).changed(file.path);
        });
    })
}

@dhoko
Copy link
Author

dhoko commented May 13, 2014

Négatif mon watch est dans le gulpfile. Je laisse dans le gulpFile que le minimum à savoir, mon serveur + le watch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment