gulpを4にバージョンアップして、以下のエラーが解消できません。
AssertionError [ERR_ASSERTION]: Task function must be specified
3 -> 4のアップデートに伴ってgulpfile.jsの引数を変更してみましたがエラーが出続け解決できません。
主に、最後の上のgulp.series
やwatch
などの付近を色々と修正してみたんですが何も解消されず。。。
何が間違っているかご指摘ください。
よろしくお願いいたします。
条件は以下のとおりです。
node : 10.12.0
npm : 6.4.1gulp
gulp(local) : 4
javascript
1const gulp = require('gulp'); 2 3// const autoprefixer = require('gulp-autoprefixer'); 4const autoprefixer = require("autoprefixer"); 5const babelify = require('babelify'); 6const browser = require('browser-sync').create(); 7const browserify = require('browserify'); 8const buffer = require('vinyl-buffer'); 9const cleanCSS = require('gulp-clean-css'); 10// const imagemin = require('gulp-imagemin'); 11const concat = require("gulp-concat"); 12// const mozjpeg = require('imagemin-mozjpeg'); 13const plumber = require('gulp-plumber'); 14// const pngquant = require('imagemin-pngquant'); 15const sass = require('gulp-sass'); 16const sourcemaps = require('gulp-sourcemaps'); 17const through = require('through2'); 18const uglify = require('gulp-uglify'); 19const postcss = require('gulp-postcss'); 20const assets = require('postcss-assets'); 21// const normalize = require('postcss-normalize'); 22const postcssGapProperties = require("postcss-gap-properties"); 23const pug = require('gulp-pug'); 24 25 26 27const paths = { 28 'scss': './src/stylesheets/', 29 'jssrc': './src/javascripts/', 30 'pug': './src/pug/', 31 'html': './dest/', 32 'css': './dest/assets/css/', 33 'js': './dest/assets/js/', 34 'image': 'assets/images/' 35} 36 37gulp.task('server', function () { 38 browser.init({ 39 server: { 40 baseDir: paths.html, 41 index: 'index.html' 42 }, 43 port: 2000 44 }); 45}); 46//setting : Pug Options 47const pugOptions = { 48 pretty: true 49} 50//Pug 51gulp.task('pug', function () { 52 return gulp.src([ paths.pug + '**/*.pug', '!' + paths.pug + '**/_*.pug']) 53 .pipe(plumber()) 54 .pipe(pug(pugOptions)) 55 .pipe(gulp.dest(paths.html)) 56 .pipe(browser.stream()); 57 browser.reload(); 58}); 59 60 61gulp.task('sass', function () { 62 gulp.src( paths.scss + '**/*.scss') 63 .pipe(plumber()) 64 .pipe(sourcemaps.init()) 65 .pipe(sass()) 66 .pipe(postcss([ 67 postcssGapProperties(), 68 autoprefixer({ 69 grid: true, 70 browsers: ['last 1 version'], 71 cascade: false 72 }), 73 assets({ 74 loadPaths: [ paths.image ], // basePathから見た画像フォルダの位置 75 basePath: paths.html, // プロジェクトで公開するパス 76 cachebuster: true 77 }) 78 ])) 79 // .pipe(cleanCSS()) 80 .pipe(sourcemaps.write('../maps')) 81 .pipe(gulp.dest( paths.css )) 82 .pipe(browser.stream()); 83}); 84 85gulp.task('es2015', function () { 86 var browserified = through.obj(function(file,encode,callback){ 87 browserify(file.path) 88 .transform(babelify, {presets: ['es2015']}) 89 .bundle(function(err,res){ 90 if(err){ 91 return callback(err); 92 } 93 file.contents = res; 94 callback(null,file); 95 }) 96 .on("error", function (err) { 97 console.log("Error : " + err.message); 98 }); 99 }); 100 101 gulp.src(paths.jssrc + 'index.js') 102 .pipe(plumber()) 103 .pipe(sourcemaps.init()) 104 .pipe(browserified) 105 .pipe(buffer()) 106 .pipe(uglify()) 107 .pipe(sourcemaps.write('../maps')) 108 .pipe(gulp.dest(paths.js)) 109 .pipe(browser.stream()); 110}); 111 112 113gulp.task('js.concat', function() { 114 return gulp.src(paths.jssrc + 'vendor/*.js') 115 .pipe(plumber()) 116 .pipe(concat('vendor.pack.js')) 117 .pipe(uglify()) 118 .pipe(gulp.dest(paths.js)); 119}); 120 121 122gulp.task('js', ['js.concat']); 123 124 125gulp.task('watch', function() { 126 gulp.watch(paths.pug + '**/*.pug', ['pug']); 127 gulp.watch(paths.scss + '**/*.scss',['sass']); 128 gulp.watch([paths.jssrc + '**/*.js', '!' + paths.jssrc + 'vendor/*'], ['es2015']); 129}) 130gulp.task('default', gulp.series('pug', 'sass', 'es2015', 'watch'));
参考にしたページ
https://satoyan419.com/gulp-v4/
https://www.liquidlight.co.uk/blog/article/how-do-i-update-to-gulp-4/
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。