Javascript 解决Babel中浏览器输出的require调用

Javascript 解决Babel中浏览器输出的require调用,javascript,gulp,babeljs,Javascript,Gulp,Babeljs,我想将ES6转换为ES5以使用浏览器(IE)。因为我需要一些多边形填充,所以设置了“useBuiltIns”:“usage” { "sourceType": "script", "ignore": ["gulpfile.js"], "presets": [ ["@babel/preset-env", { "useBuiltIns": "usage" } ] ] } 但输出文件开头包含require语句: require("core-js/modul

我想将ES6转换为ES5以使用浏览器(IE)。因为我需要一些多边形填充,所以设置了“useBuiltIns”:“usage”

{
  "sourceType": "script",
  "ignore": ["gulpfile.js"],
  "presets": [
    ["@babel/preset-env", 
      { "useBuiltIns": "usage" }
    ]
  ]
}
但输出文件开头包含
require
语句:

require("core-js/modules/es7.promise.finally");
require("core-js/modules/es6.function.name");
require("core-js/modules/es6.weak-map");
// ...

为什么不嵌入Babel 7这些文件?据我所知,我们有
script
供浏览器使用,因此我只得到一个没有任何模块的捆绑文件

巴别塔不是捆扎机,它只是现代电子产品的运输工具


您需要一个像Webpack或Parcel这样的捆绑程序来转换
require()
函数调用和/或
import
语句。

我在gulp任务中使用了browserify with Babbel插件:

const gulp = require("gulp"),
  babel = require("gulp-babel"),
  browserify = require("browserify"),
  fs = require("fs");

gulp.task("js", () => {
  let outputFolder = 'dist'
  let targetFile = "customization.js"
  const js = "src/js"
  let jsSources = [`${js}/polyfills.js`, `${js}/custom.js`]

  return browserify(jsSources)
    .transform("babelify")
    .bundle()
    .pipe(fs.createWriteStream(`${outputFolder}/js/${targetFile}`))
})
这将创建一个没有任何模块加载程序的包