Fazendo o Babel 6 funcionar com o IE8 (via. Gulp / Webpack)
Eu tenho Babel 6 trabalhando bem com Gulp e Webpack. Agora preciso preenchê-lo para obter suporte ao IE8.
Instalei o babel-polyfill, mas não consigo fazê-lo funcionar e os documentos e o Google não ajudaram até agora.
Minha tarefa Gulp (incluindo configuração do Webpack):
gulp.task('webpack', function(callback) {
var webpackConfig = {
context: __dirname + '../../../js',
entry: {
homepage: [
'babel-polyfill',
'./public/homepage/homepage.js'
]
},
output: {
path: __dirname + '../../../dist/public/scripts/',
filename: '[name].bundle.js'
},
module: {
loaders: [
{
loader: 'babel-loader',
test: /\.js$/, // Only run .js files through Babel
include: /js/, // Only include the /js dir
query: {
//plugins: ['transform-runtime'], // Disabled pending fix to https://github.com/babel/babel/issues/2954
presets: ['es2015'],//, 'stage-0'
}
}
]
}
};
webpack(webpackConfig, function(err, stats) {
if (err) {
throw new gutil.PluginError('webpack', err);
}
gutil.log('[webpack]', stats.toString({
// output options
}));
callback();
});
});
Dos documentos (https://babeljs.io/docs/usage/polyfill/):
Uso no Node / Browserify / Webpack
Para incluir o polyfill, você precisa solicitá-lo na parte superior do ponto de entrada para o seu aplicativo.
require ("babel-polyfill");
Uso no navegador
Disponível no arquivo dist / polyfill.js em uma versão do babel-polyfill npm. Isso precisa ser incluído antes de todo o seu código Babel compilado. Você pode anexá-lo ao seu código compilado ou incluí-lo em um antes dele.
NOTA: Não exija isso via browserify, etc, use babel-polyfill.
Tentei simplesmente adicionar o arquivo polyfill.js ao topo da página, mas o IE8 ainda não está satisfeito com o uso do código compilado dodefault
palavra-chave
Também tentei adicionar o polyfill ao processo do webpack, conformehttp://jamesknelson.com/using-es6-in-the-browser-with-babel-6-and-webpack/ e outras sugestões do Google
O que estou fazendo errado?