Появилась проблема с запуском таска, видимо проблема в непонимании, gulp4, но не понимаю с чем связана ошибка. gulpfile.js
var gulp = require("gulp");
var scss = require("gulp-sass");
var browserSync = require("browser-sync");
gulp.task('compile', function(){
gulp.parallel("app/scss/**/*.scss")
.pipe(scss())
.pipe(gulp.parallel('app/css'))
.pipe(browserSync.stream);
done();
});
gulp.task("watch", function(done) {
browserSync.init({
server:'app/'
})
gulp.watch("app/sccs/**/*.scss", gulp.series('scss'));
gulp.watch('app/*.html').on('change',()=>{
browserSync.reload();
done();
});
done();
})
gulp.task('default', gulp.series('compile', 'watch'));
Код ошибки в консоли:
[23:04:08] Using gulpfile ~\Desktop\Project_1\gulpfile.js
[23:04:08] Starting 'default'...
[23:04:08] Starting 'compile'...
[23:04:08] 'compile' errored after 6.63 ms
[23:04:08] AssertionError [ERR_ASSERTION]: Task never defined: app/scss/**/*.scss
at getFunction (C:\Users\Gleb\Desktop\Project_1\node_modules\undertaker\lib\helpers\normalizeArgs.js:15:5)
at map (C:\Users\Gleb\Desktop\Project_1\node_modules\arr-map\index.js:20:14)
at normalizeArgs (C:\Users\Gleb\Desktop\Project_1\node_modules\undertaker\lib\helpers\normalizeArgs.js:22:10)
at Gulp.parallel (C:\Users\Gleb\Desktop\Project_1\node_modules\undertaker\lib\parallel.js:13:14)
at C:\Users\Gleb\Desktop\Project_1\gulpfile.js:6:10
at taskWrapper (C:\Users\Gleb\Desktop\Project_1\node_modules\undertaker\lib\set-task.js:13:15)
at bound (domain.js:395:14)
at runBound (domain.js:408:12)
at asyncRunner (C:\Users\Gleb\Desktop\Project_1\node_modules\async-done\index.js:55:18)
at process._tickCallback (internal/process/next_tick.js:61:11)
[23:04:08] 'default' errored after 66 ms
Доп.инфа.:
{
"name": "project_1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.26.3",
"gulp": "^4.0.0",
"gulp-sass": "^4.0.2"
}
}
Причина этой ошибки в том, что вы используйте gulp.parallel()
вместо gulp.src()
и gulp.dest()
gulp.parallel()
предназначен для того, чтобы параллельно запустить несколько задач
gulp.src()
читает файлы
А gulp.dest()
записывает в файлы
Кроме того, done()
в задаче watch не нужны, а browserSync.stream
в .pipe()
нужно вызвать (то есть .pipe(browserSync.stream())
), как сказано в документации BrowserSync
В итоге, если исправить допущенные ошибки, получается такой gulpfile.js
var gulp = require("gulp");
var scss = require("gulp-sass");
var browserSync = require("browser-sync");
gulp.task('compile', function(){
return gulp.src("app/scss/**/*.scss")
.pipe(scss())
.pipe(gulp.dest('app/css'))
.pipe(browserSync.stream());
});
gulp.task("watch", function(done) {
browserSync.init({
server:'app/'
})
gulp.watch("app/scss/**/*.scss", gulp.series('compile'));
gulp.watch('app/*.html').on('change', browserSync.reload);
});
gulp.task('default', gulp.series('compile', 'watch'));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Добрых времени суток! Проблема в следующем, возникла задача добавить созданный span в каждый 2-ой(!) элемент в блоке divtest, как это можно сделать?...