从rxjs添加`fromPromise`在Webpack 4中不起作用

时间:2018-07-27 14:12:05

标签: angular webpack rxjs webpack-4 rxjs6

在我们的一个大型项目中,我尝试了无数次升级到webpack 4的尝试,但是每次我最终都会遇到多个错误,这些错误可以追溯到rxjs。直到阅读了许多类似的问题之后,我才打开这个问题,但是没有一个解决了我的问题,对于为什么会首先发生,我仍然感到困惑。

我在某个地方:

import { Observable } from 'rxjs/Observable';

// Use Observable.fromPromise()

vendor.ts(这是我用来导入事物的输入模块)中,我这样做:

import 'rxjs/add/observable/fromPromise';

请注意,这在webpack 3上可以完全正常工作。只有在更新到webpack 4后,我才能解决问题。此外,如果我从rxjs/Rx导入,则此特定问题似乎已解决,这意味着与fromPromise未被导入有关。

在更新之前,我在webpack 3中具有以下webpack配置:

new webpack.optimize.CommonsChunkPlugin({
  names: ['vendor', 'polyfills'],
}),

更新后,在Webpack 4中我有这个:

optimization: {
    splitChunks: {
        cacheGroups: {
            vendor: {
                test: /[\\/]node_modules[\\/]/,
                name: 'vendor',
                chunks: 'all',
            },
        },
    },
},

环境

  • 运行时:所有主要浏览器

  • RxJS版本:6.2.2

  • Webpack:4.16.3(以及所有版本的Webpack 4)

image

1 个答案:

答案 0 :(得分:0)

在使用webpack进行了很多修改之后,现在似乎可以正常工作了。我不知道出什么问题了,也许只是webpack 4的一个变化。但是重要的是,如果您使用的是最新的rxjs包,请使用from而不是fromPromise