Javascript 如何使用Babel 7和Gulp添加select polyfills?

Javascript 如何使用Babel 7和Gulp添加select polyfills?,javascript,ecmascript-6,gulp,babeljs,Javascript,Ecmascript 6,Gulp,Babeljs,我最近用Gulp4升级到了Babel7。部署代码后,我意识到存在IE11兼容性问题,以及Microsoft Edge browser早期版本(16、17、18)中返回未定义符号的问题。我还没有在我的代码中使用太多ES6,但我使用了诸如.includes()、.startsWith.()和扩展语法之类的功能。为此,我需要添加一些多边形填充,但我所有的尝试都没有成功 编译后的代码只是在网站上使用的简单的旧JS文件,不是React构建或任何东西的一部分 package.json "devDepende

我最近用Gulp4升级到了Babel7。部署代码后,我意识到存在IE11兼容性问题,以及Microsoft Edge browser早期版本(16、17、18)中返回未定义符号的问题。我还没有在我的代码中使用太多ES6,但我使用了诸如
.includes()
.startsWith.(
)和
扩展
语法之类的功能。为此,我需要添加一些多边形填充,但我所有的尝试都没有成功

编译后的代码只是在网站上使用的简单的旧JS文件,不是React构建或任何东西的一部分

package.json

"devDependencies": {
    "@babel/core": "^7.8.4",
    "@babel/plugin-transform-runtime": "^7.8.3",
    "@babel/preset-env": "^7.8.4",
    "@babel/register": "^7.8.3",
    "babel-eslint": "^10.0.3",
    "del": "^5.1.0",
    "eslint": "^6.8.0",
    "gulp": "^4.0.2",
    "gulp-babel": "^8.0.0",
    "gulp-concat": "^2.6.1",
    "gulp-eslint": "^6.0.0",
    "gulp-rename": "^2.0.0",
    "gulp-terser": "^1.2.0"
},
"dependencies": {
    "@babel/runtime": "^7.8.4",
    "core-js": "^3.6.4",
    "lodash": "^4.17.15"
}
gulpfile.babel.js(仅包括用于构建任务的函数)

我所尝试的

  • 将选项传递给@babel/preset env,但我得到的只是几行重复的
    var\u typeof=require(“@babel/runtime/helpers/typeof”)在构建代码中,它对解决IE中的上述错误没有任何作用

    “预设”:[['@babel/preset env'{
    “模块”:false,
    'useBuiltIns':'entry',
    “corejs”:3
    }]],
    “插件”:[“@babel/plugin transform runtime”]

  • 在不带任何选项的情况下通过@babel/preset env:

    “预设”:[“@babel/preset env”],
    “插件”:[]

  • 但是,所有这些只是将以下内容添加到我的代码中,并且
    符号未定义
    错误仍然会在IE中返回

    function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
    
    肯定比这容易吧

    function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }