web-dev-qa-db-ja.com

どうすればbabelpolyfillを使用して、gulpに関するすべてのIE11の問題をサポートできますか

transform-object-assignarray-includesのプラグインを追加して、IE11のサポートをつなぎ合わせてきましたが、for ofループを使用するとシンボルエラーが発生します。一度に1つずつ取り組むのではなく、下のビルドにbabel polyfillを組み込んで、将来的にそれを証明することは可能ですか?

私はいくつかの関連する質問を読みましたが、以下のgulpビルドにbabel-polyfillをどのように適合させるかについてはまだ明確ではありません:

return gulp.src(input)  // Grab the input files
        .pipe($.babel({
            presets: ['es2015'], // transform ES6 to ES5 with Babel
            plugins: ['transform-object-assign','array-includes']

        }))
        .pipe($.concat(outputFile))
        .pipe($.uglify({
            compress: {
                drop_debugger:  true
            }
        }))
        .pipe(gulp.dest(paths.output))  // Output file destination
        .pipe($.connect.reload());
}
8
turbo2oh

編集

このnpmパッケージ「babel-polyfill」に戻ったときに、babel-polyfillとIEの問題に気づきました:「6.5.0」すべてが正常に機能し始めました

/編集

Browserifyを使用していますか?また、babel-polyfillとプラグイン['transform-es2015-classes', { loose: true }]]が必要です。

IE babel6との互換性のための私のgulpタスクはここにあります:

gulp.task('compile', () => {
    browserify('./js/script.js', { debug: true })
    .add(require.resolve('babel-polyfill'))
    .transform(babelify.configure({presets: ['es2015'], plugins:['transform-es2015-classes', { loose: true }]]}))
    .bundle()
    .on('error', util.log.bind(util, 'Browserify Error'))
    .pipe(source('script.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(uglify({ mangle: false }))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./build'));
  });
1
glued