Я пытаюсь перенести код ES6 для поддержки браузерами, такими как IE 11. Я использую веб-пакет с Gulp через плагин webpack-stream:
/ gulpfile.js
...
const webpack = require('webpack-stream');
gulp.task('js_webpack', ['jest'], function() {
return gulp.src('./src/js/**/*.js')
.pipe(webpack(require('./webpack.config.js')))
.pipe(gulp.dest('./dist/js'));
});
...
/ webpack.config.js
const path = require('path');
module.exports = {
entry: {
"course-search": './src/js/course-search.bundle.js',
...
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist/js')
},
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}],
},
mode: 'development',
devtool: 'inline-source-map'
}
Все это прекрасно работает. Все объединяется и переносится вниз. Однако forEach, который не поддерживается в IE , находится в сгенерированных файлах JS.
Итак, я пытаюсь установить список приемлемых целевых браузеров:
/. Browserslistrc
> 1%
ie >= 11
ios 7
Разве это не правильно? Почему он все еще принимает forEach в dist / files?
Если это помогает, вот также мой конфигурационный файл babel:
/. Babelrc
{
"presets": [
"@babel/preset-env"
]
}