Gulp 4 - Gulpfile.js configurer
Je suis la recherche de la documentation sur Gulp 4 extrêmement difficile à trouver, alors j'ai pensé que je pourrais demander ici pour voir si quelqu'un peut aider.
Je suis assez nouveau à Avaler de toute façon et ont été à l'aide de Gulp 3 sans aucun problème jusqu'à ce que j'ai essayé de le faire fonctionner sur une machine virtuelle que nous utilisons pour le développement. Ma gorgée de fichier est très simple je viens d'utiliser gulp-sass pour compiler SASS dans un fichier css qui fonctionnait bien, mais à chaque fois, il enregistre le fichier css, il change les permissions d'écriture sur le fichier et le navigateur ne peut pas lire le fichier!
J'ai donc fait un peu de recherche et apparemment c'est un problème avec Gulp 3 qui a été résolu dans Gulp 4 - voir - https://github.com/gulpjs/gulp/issues/1012. J'ai donc pensé que je voudrais essayer Gulp 4 donc j'ai mis à jour en suivant les instructions ici - http://www.ociweb.com/resources/publications/sett/gulp-4/ mais je vais avoir des problèmes réels de la configuration de l'effectif gulpfile.js comme je ne trouve pas de documentation sur elle. C'est ce que j'ai reconstitué à l'instant, mais pas de chance... malheureusement, mon js compétences sont dépourvues!!
Exemple Gulp 4 fichier ici - https://gist.github.com/demisx/beef93591edc1521330a
Tous j'ai besoin de la gulpfile à faire est de compiler sass à l'aide de gulp-sass
//include gulp
var gulp = require('gulp');
//include plugins
var sass = require('gulp-sass');
var paths = {
dirs: {
build: './furniture/css'
},
sass: './furniture/sass/**/*.scss'
};
//Shared tasks
gulp.task('glob', function () {
var pattern = '.build/**/*.css';
gulp.src(pattern, { read:false })
.pipe(using());
});
//SASS
gulp.task('sass', function () {
return gulp.src(paths.sass)
.pipe(sass())
.pipe(changed(paths.dirs.build))
.pipe(gulp.dest(paths.dirs.build))
.pipe(grep('./furniture/css', { read: false, dot: true }))
});
gulp.task('watch:styles', function () {
gulp.watch(paths.sass, 'sass');
});
//Default task
gulp.task('default'('build', 'ws', 'watch'));
OriginalL'auteur Andy | 2015-09-09
Vous devez vous connecter pour publier un commentaire.
Bien, nous pourrions avoir besoin de plus d'informations sur les erreurs que vous obtenez. Mais, ce devrait fonctionner si le problème est juste l'obtention de votre gulpfile.js de travail.
Si vous avez déjà trouvé la solution, puis une grande. Mais pour les autres qui viennent à travers cela, je vais donner quelques conseils, et alors cela devrait fonctionner.
Indice
Première: la Désinstallation de gulp 3 et l'installation de gulp 4
Si vous ne l'avez pas déjà supprimé l'original gorgée de votre système, vous devez le faire. Aussi, vous devez l'enlever aussi un projet de dépendance si vous l'avez ajouté.
Ensuite, vous devez installer gulp 4 à l'échelle mondiale et dans votre projet comme une dépendance.
dans votre projet:
NOTES IMPORTANTES
Il est maintenant
gulpjs/gulp#4.0
(gulp
au lieu degulp-cli
)Deuxième: un Test pour voir si gulp 4 œuvres
Version de base de votre gulpfile:
REMARQUE: Modifier le trait.src(...), et .pipe(gulp.dest (...) les chemins d'accès si vous êtes un copier-coller.
Voyons si gulp 4 est de travail:
exécuter le défaut gulp tâche dans votre terminal:
gulp
It's working!
dans votre terminal, alors vous savez que gulp 4 est installé correctement.Si cela a fonctionné, alors:
gulp sass
Si cela a fonctionné (créé ces fichiers), puis le tout est de travailler et de continuer à mes autres extraits ci-dessous.
Troisième: La finale gulpfile version
Voici la solution pour vos besoins en fonction de la gulpfile.js illustré:
Bien que j'ai dit, c'est la version finale, j'ai laissé l'option
message
tâche dans le gulpfile, afin de montrergulp.series
etgulp.parallel
au travail. J'ai brièvement les couvrir dans la dernière section ci-dessous.Il n'est pas nécessaire et peut être supprimé.
Vous pouvez également remarquer que j'ai ajouté une montre tâche qui contient:
gulp.series('sass', gulp.parallel('watch:styles'))
Ceci est fait de sorte que vous pouvez à l'avenir, d'en ajouter d'autres
watch:
tâches. par exemple,watch:scripts
.La
gulp.series('sass'...)
partie est purement une méthode de convenance. Si vous écrivez du code, puis exécutez votre gulp tâche, vous aurez besoin de modifier de nouveau avant vos modifications sont prises en compte. L'ajout de la'sass'
d'abord avant de lancer la montre tâches, il transpile avant qu'il commence à regarder pour les changements.Enfin: Quelques notes sur Gulp 4 et actuel gulp 4 construire
1. Basé sur votre gulpfile montré, voici quelques conseils sur la Gulp 4
Gulp 4 utilise maintenant:
gulp.series
: Contrôles de l'ordre de ce qui doit être exécuté. Il exécute les tâches dans l'ordre jusqu'à la fin, par exemple:gulp.series('task-name-1', 'task-name-2')
gulp.parallel('task-name-3', 'task-name-4')
seires
etparallel
peuvent être utilisés ensemble pour mieux contrôler le flux des tâches, par exemple:2. Et la correction rapide de l'actuel gulp 4 construire
Dans ces exemples, vous remarquerez que j'ai utilisé
gulp.series
dans lewatch:styles
tâche:Cela est dû, sans doute, un bug dans le gulp 4 montre la méthode. Je suis en supposant que c'est le cas, comme je ne pouvais pas le regarder tâche en utilisant simplement
'sass'
et lieu d'utilisergulp.series('sass')
.Je l'ai dit, on peut supposer que c'est un bug, comme lors de l'apprentissage de gulp 4 moi-même, d'autres ont été à l'aide de la montre traditionnelle tâche format avec leurs gulp 4 exemples:
J'ai eu à venir avec ce travail autour afin d'utiliser gulp regarder. Ce qui est bien, et pourrait également fournir d'autres prestations de l'exécution de certains autres tâches après si vous le souhaitez.
Je vais revenir et de fournir un tutoriel liens pour Gulp 4 une fois que j'ai fini d'écrire.
Pas de problème, laissez-moi savoir comment ça se passe.
Avez-vous des instructions pour la mise à niveau de Gulp 4 avant la libération? (pas de v3, mais à partir de 4.0)
Juste pour compléter modifier explication - github.com/gulpjs/gulp/tree/4.0
L'ajout d'une autre liée à l'Gulp 4, pour ceux qui passent par là: https://stackoverflow.com/a/36899424/3676036
OriginalL'auteur Tristan Isfeld