让Babel 6与IE8一起工作(通过.Gulp/Webpack)

Pad*_*ann 8 internet-explorer-8 webpack babeljs

我让Babel 6与Gulp和Webpack很好地合作.我现在需要将其填充以获得IE8支持.

我已经安装了babel-polyfill,但无法使其工作,文档和谷歌到目前为止还没有帮助.

我的Gulp任务(包括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();
  });
});
Run Code Online (Sandbox Code Playgroud)

从文档(https://babeljs.io/docs/usage/polyfill/):

在Node/Browserify/Webpack中的用法

要包含polyfill,您需要在您的应用程序的入口点顶部要求它.

要求( "巴别-填充工具");

浏览器中的用法

可以从babel-polyfill npm版本中的dist/polyfill.js文件中获得.这需要包含在所有编译的Babel代码之前.您可以将其添加到已编译的代码中,也可以将其包含在之前的代码中.

注意:不要通过browserify等要求,使用babel-polyfill.

我试过简单地将polyfill.js文件添加到页面顶部,但是IE8仍然不满意编译代码对default关键字的使用.

我也尝试将polyfill添加到webpack流程中,根据http://jamesknelson.com/using-es6-in-the-browser-with-babel-6-and-webpack/以及Google的其他建议

我究竟做错了什么?