脚本1010:未识别的语法 |无法使用 IE11 的 Babel 将 ES6 转换为 ES5



在我的Reactjs代码中,我得到了

脚本 1010:未识别的语法。

这是因为 types.min.js node_module/types.js 文件夹中的文件。

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

所以任何线索为什么它不转换.???

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

主.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';

巴贝尔克

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

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

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

最新更新