Для встраивания требуются вызовы в gulp / babel, требующие одного пакета скриптов - PullRequest
0 голосов
/ 08 октября 2018

Я использую gulp с babel для включения полифилов в старых браузерах, которые мы должны поддерживать, особенно в IE:

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

Это само по себе работает, например, были заменены обратные метки, которые вызывали проблемы в IE.Но каждый полифилл включается в отдельный файл, например так:

"use strict";

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

Это не может быть решено в браузере.Кажется, что это можно сделать, используя browserify и, возможно, какой-то загрузчик модулей (я не знаком с этим), но это приведет к большому количеству http-запросов.Я просто хочу один пакетный файл со всеми необходимыми полифилами.

Моя задача gulp:

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

, где jsSources - это массив моих js-файлов.Один из них включает.

Я нашел этот вопрос , но кажется неправильным просто заменить require s содержимым файла.Нет ли более чистого способа, например, concat gulp plugin для js?

...