前提・実現したいこと
gulpでsassのコンパイルを行いたいのですが、うまくいきません。
gulp を実行したところ下記のエラーが出てしまいました。
なお、gulp js、gulp imageは問題なく動きます。
詳しい方がいらっしゃいましたらご教授いただけるとありがたいです。
よろしくお願いいたします。
gulp -v
CLI version: 2.3.0
Local version: 4.0.2
node -v
v14.4.0
gulp sass -v
CLI version: 2.3.0
Local version: 4.0.2
発生している問題・エラーメッセージ
TypeError: Cannot read property 'init' of undefined
該当のソースコード
gulp
1var gulp = require('gulp'); 2var $ = require('gulp-load-plugins')(); 3var browserSync = require('browser-sync'); 4 5var paths = { 6 "htmlSrc": "./*.html", 7 "scssSrc": "./src/sass/**/*.scss", 8 "jsSrc": "./src/js/*.js", 9 "jsLib": "./src/js/lib/*.js", 10 "imgSrc": "./src/images/**", 11 "rootDir": "./dist/", 12 "scssDir": "./dist/css/", 13 "imgDir": "./dist/images/", 14 "jsDir": "./dist/js/" 15} 16 17// browserSync 18gulp.task('bs', function (done) { 19 browserSync.init({ 20 server: { 21 baseDir: "./" 22 }, 23 notify: true, 24 xip: false 25 }); 26 done(); 27}); 28 29// sass compile 30gulp.task('scss', function () { 31 return gulp.src(paths.scssSrc) 32 .pipe($.sourcemaps.init()) 33 .pipe($.sass()).on('error', $.sass.logError) 34 .pipe($.autoprefixer({ 35 browsers: ['last 2 versions'] 36 })) 37 .pipe($.sourcemaps.write()) 38 .pipe(gulp.dest(paths.rootDir + 'css')) 39 .pipe($.rename({ 40 suffix: '.min' 41 })) 42 .pipe($.csso()) 43 .pipe(gulp.dest(paths.rootDir + 'css')) 44 .pipe(browserSync.reload({ 45 stream: true, 46 once: true 47 })); 48}); 49 50// browserSync 51gulp.task('bs-reload', function (done) { 52 browserSync.reload(); 53 done(); 54}); 55 56// image optimize 57gulp.task('image', function () { 58 return gulp.src(paths.imgSrc) 59 .pipe($.imagemin({ 60 optimizationLevel: 3 61 })) 62 .pipe(gulp.dest(paths.imgDir)); 63}); 64 65// js 66gulp.task('js', function () { 67 return gulp.src([paths.jsLib, paths.jsSrc]) 68 .pipe($.uglify({ output: 69 { 70 comments: /^!/ 71 } 72 })) 73 .pipe($.concat('main.min.js', { newLine: '\n' }) 74 ) 75 .pipe(gulp.dest(paths.jsDir)); 76}); 77 78// watch 79gulp.task('default', gulp.series(gulp.parallel('image', 'js', 'bs', 'scss', 80 'bs-reload'), function () { 81 $.watch([paths.htmlSrc], function (e) { 82 gulp.start("bs-reload") 83 }); 84 $.watch([paths.scssSrc], function (e) { 85 gulp.start("scss") 86 }); 87 $.watch([paths.imgSrc], function (e) { 88 gulp.start("image") 89 }); 90 $.watch([paths.jsSrc], function (e) { 91 gulp.start("js") 92 }); 93 })); 94
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。