Как polyfill извлечь и обещать с помощью webpack 2?

Как polyfill fetch и promise для Webpack 2?

У меня много точек входа, поэтому Webpack 1-way для их добавления перед каждой точкой входа не является желательным решением.

Ответы

Ответ 1

Независимо от того, сколько точек входа у вас есть, у вас должен быть отдельный файл для ваших файлов поставщиков, таких как фреймворки (реагировать, angular, whatevs) и любые библиотеки, которые вам всегда нужны, но редко меняются. Вы хотите, чтобы они были отдельным пакетом, чтобы вы могли его кэшировать. Этот комплект всегда должен быть загружен. Все, что вы включаете в этот пакет, всегда будет доступно, но никогда не будет повторяться в ваших кусках, если вы используете его с commonChunksPlugin.

Вот пример из приложения, которое я сделал (просто отображая соответствующие параметры конфигурации):

module.exports = {
  entry: {
    client: 'client',
    vendor: [
      'react',
      'react-addons-shallow-compare',
      'react-addons-transition-group',
      'react-dom',
      'whatwg-fetch'
    ]
  },
  output: {
    path: `${__dirname}/dist`,
    filename: '[name].js',
    publicPath: '/build/'
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin({
      names: ['vendor', 'manifest']
    })
  ]
}

Ответ 2

Возможно, я не понимаю правильно, но не могли бы вы просто добавить babel-polyfill перед остальными точками входа в конфигурацию вашего веб-пакета?

module.exports = {
   entry: ['babel-polyfill', './app/js', '/app/js/whatever']
};