Gulp-таск
gulp.task('update production js', gulp.series(
done => { isDevelopment = false; done (); },
del.sync(outputJsSelection),
'webpack'
));
работает через раз. В случае ошибки, показывает следующее:
assert.js:42
throw new errors.AssertionError({
^
// Это не таск, NoJsRequest - это просто JavaScript - файл!
AssertionError [ERR_ASSERTION]: Task never defined: C:\OpenServer\domains\example.loc\public\open\js\NoJsRequest.js
at getFunction (C:\OpenServer\domains\example.loc\node_modules\undertaker\lib\helpers\normalizeArgs.js:15:5)
at map (C:\OpenServer\domains\example.loc\node_modules\arr-map\index.js:20:14)
at normalizeArgs (C:\OpenServer\domains\example.loc\node_modules\undertaker\lib\helpers\normalizeArgs.js:22:10)
at Gulp.series (C:\OpenServer\domains\example.loc\node_modules\undertaker\lib\series.js:13:14)
at Object.<anonymous> (C:\OpenServer\domains\example.loc\gulpfile.js:143:40)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
Перед тем, как я сделал таск update production js
, webpack
работал нормально (да и сейчас дело не в нём).
Дополнительная информация:
const gulp = require('gulp'),
webpack = require('webpack'),
del = require('del');
let outputJsSelection =
[ 'C:\\OpenServer\\domains\\example.loc\\public\\open\\js\\**\\*.*',
'C:\\OpenServer\\domains\\example.loc\\public\\admin\\js\\**\\*.*' ];
Кстати, тоже самое и с таском 'update production styles':
gulp.task('update production styles', gulp.series(
done => { isDevelopment = false; done (); },
del.sync(HPath.outputCssSelection),
'styles'
));
assert.js:42
throw new errors.AssertionError({
^
// 01_Top.css - это же не таск!!
AssertionError [ERR_ASSERTION]: Task never defined: C:\OpenServer\domains\example.loc\public\open\css\01_Top.css
Да, действительно, если убрать таски styles
или webpack
, всё будет работать корректно каждый раз:
gulp.task('update production styles', gulp.series(
done => { isDevelopment = false; done (); },
del.sync(outputCssSelection),
//'styles'
));
Но если вернуть таски styles
и webpack
, то даже строка done => { isDevelopment = false; done (); },
не будет выполнена. Отладочный вариант таска update production styles
:
gulp.task('update production styles', gulp.series(
done1 => { console.log('ok1'); done1(); },
done => { isDevelopment = false; done (); },
done2 => { console.log('ok2'); done2(); },
del.sync(outputCssSelection),
done3 => { console.log('ok3'); done3(); },
'styles'
));
Случай с корректным выполнением таска (срабатывает, когда в выходной папке нет css или js-файлов):
λ gulp "update production styles"
[10:46:23] Using gulpfile C:\OpenServer\domains\example.loc\gulpfile.js
[10:46:23] Starting 'update production styles'...
[10:46:23] Starting '<anonymous>'...
ok1
[10:46:23] Finished '<anonymous>' after 1.69 ms
[10:46:23] Starting '<anonymous>'...
[10:46:23] Finished '<anonymous>' after 967 μs
[10:46:23] Starting '<anonymous>'...
ok2
[10:46:23] Finished '<anonymous>' after 1.55 ms
[10:46:23] Starting '<anonymous>'...
ok3
[10:46:23] Finished '<anonymous>' after 1.09 ms
[10:46:23] Starting 'styles'...
[10:46:27] Finished 'styles' after 3.31 s
[10:46:27] Finished 'update production styles' after 3.32 s
Случай некорректной работы таска (ни одного ok
в консоли):
λ gulp "update production styles"
assert.js:42
throw new errors.AssertionError({
^
AssertionError [ERR_ASSERTION]: Task never defined: C:\OpenServer\domains\example.loc\public\open\css\01_Top.css
Возможно проблема в вашем del
, он по идее выдаёт ошибку когда удаляете папку а там есть файлы. Попробуйте использовать rimraf = require('rimraf')
Таск будет примерно таким
// Таск для предварительной очистки (удаления) production-папки (task for delete
of production folder dist):
gulp.task('clean', function (cb) {
rimraf(paths.dist.css.dest + '/*', cb);
rimraf(paths.dist.img.dest + '/*', cb);
});
Не получается заставить работать google app script с регулярным выражением \[[^\[]+\]
Есть функция которая добавляет новые стили на указанный класс при нажатии на кнопкуПеред тем как добавить стили скрипт сначало ищет совпадения...