Gulp TypeError:dest.on 不是函数

Posted

技术标签:

【中文标题】Gulp TypeError:dest.on 不是函数【英文标题】:Gulp TypeError: dest.on is not a function 【发布时间】:2016-08-22 20:01:51 【问题描述】:

我正在尝试使用 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

这是文件夹目录:

【问题讨论】:

【参考方案1】:

发生错误是因为 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/'));
);

【讨论】:

我有dest.on TypeError 即使webpack-stream :( @RomanM.Kos 再次尝试了我的示例。适用于最新的 gulpwebpackwebpack-stream 软件包。 我已经升级了我的软件包,但这似乎并没有起到作用。 我在一个 VS 2017 项目中使用了这个,但在另一个项目中没有。比较表明,在其中一个中,我正在使用 perens 而不是在另一个中。工作tsProject.src().pipe(debug()).pipe(tsProject()).pipe(debug()).pipe(gulp.dest... 非工作tsProject.src().pipe(debug).pipe(tsProject).pipe(debug).pipe(gulp.dest..

以上是关于Gulp TypeError:dest.on 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Gulp TypeError:path.join 的参数必须是字符串

哟 @microsoft/sharepoint 在 TypeError 上失败:lookups.flatMap 不是函数

运行 gulp 给出“path.js:7 throw new TypeError('Path must be a string. Received ' + inspect(path));”

如何使用 Gulp 编译不同目录中的 SASS 文件?

TypeError:无法使用 TSLint 和 TypeScript 读取未定义的属性“getFullWidth”

检查 Gulp 中是不是存在文件