script1010:语法不明|无法使用Babel for IE11将ES6转换为ES5

时间:2019-01-16 14:09:49

标签: reactjs ecmascript-6 internet-explorer-11 babel babel-polyfill

在我的Reactjs代码中,我得到

  

Script1010:语法不明。

这是由于node_module / types.js文件夹中的types.min.js文件引起的。

里面的types.min.js文件;由于ES6语法,o=function(...n)代码出现错误。当我使用Gulp构建代码时,它没有将ES6转换为ES5,因此IE11抛出错误。我正在使用babel-polyfill。

所以任何线索为什么它没有转换。???

当我将types.js代码转换为ES5格式并将其粘贴到types.min.js文件中时,它可以正常工作。但这不是正确的方法。

main.js

// polyfills
   import 'classlist-polyfill';
   import 'element-closest';
   import objectFitImages from 'object-fit-images';
   import picturefill from 'picturefill';
   import 'masonry-layout/dist/masonry.pkgd';
   import 'imagesloaded/imagesloaded.pkgd';

babelrc

{
  "presets": ["env","es2015", "react"],
  "plugins": [
    "transform-object-rest-spread",
    "transform-class-properties"]
}

1 个答案:

答案 0 :(得分:0)

如果将https://raw.githubusercontent.com/phazelift/types.js/master/types.min.js复制到IE 11控制台并运行它,您将看到从node_modules/types.js获得的代码与IE 11不兼容。

由于大多数node_modules文件夹中的构建堆栈配置模块都可以通过Babel进行编译,因此最简单的解决方法是将其代码复制到您自己的JS代码所在的项目文件夹中。从那里导入它可以确保您的Babel编译代码。