Reactjs 将react小部件嵌入到Angular 4站点时发生Polyfill冲突
我使用react编写了一个可嵌入的小部件,并使用Reactjs 将react小部件嵌入到Angular 4站点时发生Polyfill冲突,reactjs,webpack,babeljs,babel-polyfill,zonejs,Reactjs,Webpack,Babeljs,Babel Polyfill,Zonejs,我使用react编写了一个可嵌入的小部件,并使用Webpack4.29.3和Babel7将其捆绑到一个js文件中。在webpack dev server和production中,只要在html中插入标记,一切都可以正常工作。我的网页配置如下:(我已经包括了babel polyfill) 我的babel配置如下: { "presets": [ "@babel/env", "@babel/preset-react" ], "plugins": [ "@babe
Webpack4.29.3
和Babel7
将其捆绑到一个js文件中。在webpack dev server
和production
中,只要在html中插入
标记,一切都可以正常工作。我的网页配置如下:(我已经包括了babel polyfill
)
我的babel配置如下:
{
"presets": [
"@babel/env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties"
]
}
但是当我尝试将小部件嵌入到angular 4编写的站点时,它会显示
TypeError:t.finally不是一个函数
,尽管我在react网页包构建中包含了polyfill
。我发现原因是angular中的zone.js
覆盖了babel polyfill。当我将主机站点(angular site)的zone.js
版本从0.8.14
更新为0.8.26
时,可嵌入小部件工作正常。我的问题是在实际场景中,我无法控制嵌入小部件的主机站点。因此,在这种情况下,我如何克服这一问题?在创建小部件时尝试动态加载polyfill。
{
"presets": [
"@babel/env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties"
]
}