Разрешить требуют звонки для вывода браузера в Babel - PullRequest
0 голосов
/ 10 октября 2018

Я хочу преобразовать 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?Как я понял документация sourceType , у нас есть script для использования браузером, так что я получаю просто один связанный файл без каких-либо модулей.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Я прекратил использовать browserify с плагином Babbel в своей задаче gulp:

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}`))
})

Это создаст один пакет без загрузчиков модулей.

0 голосов
/ 10 октября 2018

Babel - это не пакет, а просто транспортер для современных ES.

Вам понадобится такой пакет, как Webpack или Parcel для преобразования require() вызовов функций и / или import операторов.

...