web-dev-qa-db-ja.com

Gulp TypeError:dest.onは関数ではありません

Gulpタスクでbundle.jsファイルを生成しようとしています

var gulp = require('gulp'),
    gutil = require('gulp-util'),
    wrench = require('wrench'),
    conf = require('./webpack.config'),
    webpack = require('webpack'),
    WebpackDevServer = require('webpack-dev-server');

// Webpack
gulp.task('wp', function() {
  return gulp.src('./assets/scripts/entry.js')
    .pipe(webpack(conf))
    .pipe(gulp.dest('./assets/build1'));
});

しかし、実行しようとするとTypeError: dest.on is not a functionが表示されます。

enter image description here

フォルダディレクトリは次のとおりです。

enter image description here

6
McBooley

このエラーは、webpackがgulpストリームでネイティブに機能しないために発生します。当然、webpack()によって返されるオブジェクトには、gulpに固有のdest.onが含まれていません。

gulp-webpack を使用するか、- webpack with gulp の使用方法に関する公式ドキュメントに従ってください

webpack-streamを使用する公式ドキュメントから直接抜粋したサンプルコード:

var gulp = require('gulp');
var webpack = require('webpack-stream');

gulp.task('default', function() {
  return gulp.src('src/entry.js')
    .pipe(webpack())
    .pipe(gulp.dest('dist/'));
});
9