我在IE11中运行故事书时遇到麻烦。 这是我在IE11控制台中看到的错误:
我像这样在babel中使用core-js:
presets: [
['@babel/preset-env', {
modules: false,
loose: true,
useBuiltIns: "usage",
corejs: 2,
debug: true,
targets: {
browsers: [
'last 2 Chrome versions',
'last 2 Firefox versions',
'last 2 Safari versions',
'last 2 Opera versions',
'last 2 Edge versions',
'last 2 iOS versions',
'last 2 ChromeAndroid versions',
'IE 11'
]
}
}],
'@babel/preset-react'
]
这是webpack中的babel-loader:
{
test: /\.jsx?$/,
include: [resolve(__dirname, 'src')],
exclude: /node_modules/,
loader: 'babel-loader'
}
在core-js@3.6.1上也尝试过,但是我得到了相同的结果。
UPD:错误的翻译:未定义WeakSet。
答案 0 :(得分:0)
对于IE11,您必须执行一个polyfill才能使WeakSet工作。查看此仓库https://github.com/ungap/weakset
适用于IE11或具有WeakMap但没有WeakSet的浏览器的polyfill。
通过https://unpkg.com/@ungap/weakset的
- 通过
CDN
import WeakSet from '@ungap/weakset'
的ESM
通过
的CJSconst WeakSet = require('@ungap/weakset')
与IE9兼容,可以与IE8中的ES5垫片预先兼容(也许也更低)。
答案 1 :(得分:0)
尝试了很多解决方案,但是对我有用的唯一方法是上述CDN的旧式脚本src。在您的故事书文件夹中,添加一个名为preview-head.html
的文件并添加以下脚本链接:
<script src="https://unpkg.com/@ungap/weakset"></script>