En ce moment j'ai deux tâches: templates
et js
. templates
doit être exécuté en premier afin que les modifications soient récupérées par js
. Je veux combiner ceux-ci, ce qui élimine le fichier intermédiaire, de sorte que la tâche fonctionne comme ceci:Comment combiner ces deux tâches de Gulp en une seule?
- Compile et concaténer modèles en un seul morceau de JS
- Concatenate ce morceau avec le reste du code de mon application JS
- Sortie le tout en un seul fichier
Comment est-ce que je peux faire ceci?
Voici mon code actuel:
var gulp = require('gulp');
var handlebars = require('gulp-handlebars');
var concat = require('gulp-concat');
var wrap = require('gulp-wrap');
var declare = require('gulp-declare');
// Compile Handlebars templates into JS
gulp.task('templates', function() {
return gulp.src('./templates/*.hbs')
.pipe(handlebars({
handlebars: require('handlebars')
}))
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(declare({
namespace: 'templates',
noRedeclare: true,
}))
.pipe(concat('templates.js'))
.pipe(gulp.dest('./js/'));
});
// Concatenate and minify application JS
gulp.task('js', function() {
return gulp.src('./js/*.js')
.pipe(concat('app.js'))
.pipe(gulp.dest('./dist/js'));
J'essaie d'éliminer le fichier intermédiaire, nommé templates.js dans ce cas. J'essaie de le faire de la manière Gulp et de le faire en mémoire jusqu'à la sortie finale. – Stewart
Je suppose que vous avez d'autres fichiers que template.js dans ./js/ ai-je raison? – rick
regardez l'édité – rick