Symbol.for中的预期标识符

时间:2017-12-24 18:37:56

标签: javascript reactjs webpack babeljs

我正在使用webpack和babel建立一个react(v.16)组件。

.babelrc

entryComponents

当我在IE8中测试组件(webpack built js)时,我正在

错误:预期标识符

entryComponents

我在 index.js

中加入了babel-polyfill
{
    "presets": ["env", "react"],
    "plugins": ["transform-object-rest-spread", 
                "transform-es3-member-expression-literals", 
                "transform-es3-property-literals",
                "transform-es2015-modules-commonjs"]                
}

被修改

我上面提到的文件是使用webpack打包的。我应该手动进行更改:

if (process.env.NODE_ENV !== 'production') {
  var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
    Symbol.for && //$$ -> Debugger points here
    Symbol.for('react.element')) ||
    0xeac7;

如果我应用生产配置,我会收到相同的错误,但是在以下行中。

import 'babel-polyfill';

//append component to 'div'

2 个答案:

答案 0 :(得分:-1)

Symbol.for替换为typeof Symbol.for === 'function'

答案 1 :(得分:-1)

IE8不支持reserved keywords作为点表示法中的属性名称。而是使用括号

Symbol["for"] && //$$ -> Debugger points here
Symbol["for"]('react.element')) ||