我有一个使用ES6标准编写的reactjs
应用程序,我使用webpack
来构建它。webpack
使用babel-loader
加载js
模块。具体地说,我使用以下版本的包:├── babel@5.8.34 ├── babel-core@5.8.34 ├── babel-loader@5.4.0 └── webpack@1.12.6
但是,在构建它之后,IE 10给出了以下错误'Symbol' is undefined
。不应该由babel
来定义Symbol
吗?是否需要为webpack
或babel
设置特定的配置才能使其正常工作?我在我的.babelrc
中使用{stage: 0}
配置。
如有任何帮助,将不胜感激,谢谢!
发布于 2015-11-21 00:10:28
好了,我最终发现babel
单独不做polyfill。包括script <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>
为我解决了这个问题。
发布于 2016-02-11 00:03:30
您可以要求在代码的入口点中使用polyfill,这样它就会与JavaScript的其余部分捆绑在一起。
一种选择是使用:
require('babel-polyfill');
或者:
import 'babel-polyfill';
所有这些都在the documentation中进行了解释。
发布于 2018-09-15 07:14:01
这个解决方案肯定有效,当我遇到错误:'Symbol‘在IE中未定义时,它对我起作用了。它早些时候在Chrome和Firefox中工作,但IE抛出了这个error.It,我花了几个小时才找到这个解决方案。我使用的是windows机器上最新的React " react ":"^16.5.0“。
1. Install babel-polyfill
npm install --save-dev babel-polyfill
In package.json, it should have the following entries
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^8.0.2",
"babel-polyfill": "^6.26.0",
"babel-preset-react": "^6.24.1"
}
2. In index.js, add
import babelPolyfill from 'babel-polyfill';
问题应该得到解决
https://stackoverflow.com/questions/33828840
复制相似问题