在我们的一个大型项目中,我尝试了无数次升级到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)
答案 0 :(得分:0)
在使用webpack进行了很多修改之后,现在似乎可以正常工作了。我不知道出什么问题了,也许只是webpack 4的一个变化。但是重要的是,如果您使用的是最新的rxjs包,请使用from
而不是fromPromise
。