'TypeError: dest.end is not a function' when trying to import rxjs

'TypeError: dest.end is not a function' when trying to import rxjs

我是 Gulp 和 Browserify 的新手,我正在处理一个 Typescript 项目。一切正常 很好,直到我导入 rxjs 但从那以后我面临以下错误消息:

d:\Work\rxjsnew\node_modules\gulp\node_modules\vinyl-fs\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:523
    dest.end();
         ^
TypeError: dest.end is not a function
    at DestroyableTransform.onend (d:\Work\rxjsnew\node_modules\gulp\node_modules\vinyl-fs\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:523:10)
    at DestroyableTransform.g (events.js:260:16)
    at emitNone (events.js:72:20)
    at DestroyableTransform.emit (events.js:166:7)
    at d:\Work\rxjsnew\node_modules\gulp\node_modules\vinyl-fs\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:965:16
    at nextTickCallbackWith0Args (node.js:419:9)
    at process._tickCallback (node.js:348:13)

如果我删除 rxjs 导入,项目编译成功。 这是我的 gulpfile:

var gulp = require("gulp");
var browserify = require("browserify");
var source = require('vinyl-source-stream');
var tsify = require("tsify");


gulp.task('scripts', function () {
      return gulp.src('js/*.js')
        .pipe(browserify().on('error', function(e){
            console.log(e);
         }));
  });

gulp.task("default", ["scripts"], function () {
    return browserify({
        basedir: '.',
        debug: true,
        entries: ['src/main.ts'],
        cache: {},
        packageCache: {}
    })
    .plugin(tsify)
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest("dist"))
});

安装“@reactivex/rxjs”包并通过以下方式导入 Rx 解决了问题。

import { Observable } from '@reactivex/rxjs';