Javascript Symbol.for中应为标识符
我正在用webpack和babel构建react(v.16)组件 .babelrcJavascript Symbol.for中应为标识符,javascript,reactjs,webpack,babeljs,Javascript,Reactjs,Webpack,Babeljs,我正在用webpack和babel构建react(v.16)组件 .babelrc { "presets": ["env", "react"], "plugins": ["transform-object-rest-spread", "transform-es3-member-expression-literals", "transform-es3-property-literals",
{
"presets": ["env", "react"],
"plugins": ["transform-object-rest-spread",
"transform-es3-member-expression-literals",
"transform-es3-property-literals",
"transform-es2015-modules-commonjs"]
}
当我在IE8中测试组件(webpack内置js)时,我得到了
错误:预期的标识符
我已将babel polyfill包含在我的index.js中
import 'babel-polyfill';
//append component to 'div'
已编辑
我上面提到的文件是用webpack打包的。我是否应手动进行更改,如下所示:
Symbol["for"]
如果我应用生产配置,我会得到相同的错误,但在下面的行中
e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};
将
Symbol.for
替换为typeof Symbol.for==='function'
IE8不支持作为点表示法中的属性名称。用括号代替
Symbol["for"] && //$$ -> Debugger points here
Symbol["for"]('react.element')) ||
默认值
也是保留字,请查看我包含的链接。我知道问题是由于保留关键字造成的。如果你看看我的问题,我已经在babelrc中包括了“transform-es3-member-expression-literals”、“transform-es3-property-literals”。是否有其他插件将负责此操作。i、 e default->“default”这个答案没有回答这个问题。OP的代码示例是生成的,而不是编写的;他想知道如何生成在IE8中工作的东西。
Symbol["for"] && //$$ -> Debugger points here
Symbol["for"]('react.element')) ||