在gulp / babel中嵌入require调用以需要单个脚本文件包

时间:2018-10-08 13:42:46

标签: javascript gulp babeljs polyfills

我正在使用带有babel的gulp来为我们需要支持的旧版浏览器(尤其是IE)添加polyfills。

{
  "ignore": ["gulpfile.js"],
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage",
        "forceAllTransforms": true
      }
    ]
  ]
}

这本身可以工作,例如反引号被替换,从而导致IE中出现问题。但是每个polyfill都包含在其单个文件中,如下所示:

"use strict";

require("core-js/modules/es6.map");
require("core-js/modules/es6.function.name");
require("core-js/modules/es6.string.iterator");
// ...

无法在浏览器中解决。看来可以使用browserify以及某种模块加载器(我对此并不熟悉)来完成此操作,但是会导致很多http请求。我只想要一个包含所有需要的polyfill的捆绑文件。

我的大任务:

  return (
    gulp
      .src(jsSources)
      .pipe(concat(targetFile))
      .pipe(babel())
      .pipe(gulp.dest(`${outputFolder}/js`))
  );

其中jsSources是我的js文件的数组。其中之一包括。

我找到了this question,但是用文件内容替换require似乎是错误的。有没有像concat gulp插件那样更干净的方式?

0 个答案:

没有答案