Jur*_*rom 82 reactjs webpack babeljs
我有一个reactjs使用ES6标准编写的应用程序,我用webpack它来构建它.该webpack负载js使用模块babel-loader.具体来说,我使用以下版本的软件包:
??? 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我需要设置才能使其工作?我{stage: 0}在我的配置中使用配置.babelrc.
任何帮助将不胜感激,谢谢!
Łuk*_*asz 92
您可以在代码的入口点要求polyfill,以便与其余的JavaScript捆绑在一起.
一种选择是使用:
require('babel-polyfill');
Run Code Online (Sandbox Code Playgroud)
要么:
import 'babel-polyfill';
Run Code Online (Sandbox Code Playgroud)
所有这些都在文档中解释.
Jur*_*rom 64
好吧,我最终发现babel单独没有polyfill.包括脚本<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>为我解决了这个问题.
好的,我有同样的问题,但在我的情况下完全不同,所以基本上你需要在索引文件中包含脚本,如下所示:
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
但就我而言,我已经将其包括在内,经过一些调查后,我发现我的代理阻止了脚本......
因此,请确保将它包含在 index.html 中,并确保您可以从需要的地方访问脚本以避免发生错误……最好的方法是将 url 复制并粘贴到浏览器中……
但是现在我们到了这一步,不是在谈论Symbol本身,在IE中无法识别的Symbol是什么?
Symbol() 函数返回一个符号类型的值,具有公开多个内置对象成员的静态属性,具有公开全局符号注册表的静态方法,并且类似于内置对象类但作为构造函数是不完整的,因为它不支持语法“new Symbol()”。
Symbol() 返回的每个符号值都是唯一的。符号值可以用作对象属性的标识符;这是数据类型的唯一目的。可以在 Symbol 的词汇表条目中找到一些关于目的和用法的进一步解释。
数据类型符号是一种原始数据类型。
小智 6
此解决方案肯定会起作用,当我遇到以下错误时,它对我有用:IE中未定义'Symbol'。它可以在Chrome和Firefox上运行的较早,但IE抛出此错误。我花了几个小时才找到此解决方案。我现在在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';
Run Code Online (Sandbox Code Playgroud)
问题应该得到解决
| 归档时间: |
|
| 查看次数: |
51322 次 |
| 最近记录: |