TouchTheMind
@TouchTheMind
js writer

Как подключить полифилы бабеля?

Есть галп и бабель.
Нет вебпака, бравзифая и т.д.
Разрабатывается библиотека с максимально минимальным размером файла.
Появилась необходимость использовать промайзы.
Если добавить в gulp task бабель полифилы
gulp.task('build', () => {
    return gulp.src([
        'node_modules/babel-polyfill/dist/polyfill.js',
        'app.js'
    ])
    //...
})

То запихиваются все полифилы, а необходимо только промайзы
Какие существуют варианты вытащить чисто промайзы из полифилов?
  • Вопрос задан
  • 1018 просмотров
Решения вопроса 1
TouchTheMind
@TouchTheMind Автор вопроса
js writer
Решение, кому интересно
// promise.js
_Promise = require('babel-runtime/core-js/promise').default;

// gulpfile.js
const gulp = require('gulp');
const concat = require('gulp-concat');
const header = require('gulp-header');
const webpack = require('webpack-stream');

gulp.task('build-promise' ,() =>{
    return gulp.src('promise.js')
        .pipe(webpack())
        .pipe(header(`
            let _Promise;
        `))
        // ....
        .pipe(concat('promise.js'))
        .pipe(gulp.dest('dist'));
})

Дальше можно творить с этим js что угодно, можно обернуть например
Есть решение лучше? - Пишите ;)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@flighter7
Вам сюда, смотреть на useBuiltIns и corejs
Т.е. не надо вставлять полифиллы в код, babel сам их вставит, когда увидит. Обязательно установите пакет core-js, без него не собирается правильно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы