preset-env и core-js не используют список браузеров - PullRequest
3 голосов
/ 17 апреля 2019

Использование официальных документов Я пытался настроить оптимальную конфигурацию сборки, используя: @babel/preset-env и core-js с файлом .browserslist.

Насколько я понимаю, они говорят, что preset-env с useBuiltins:"usage" обновит оператор import 'core-js/stable' в моем коде, чтобы включить только необходимые функции.

Однако, независимо от того, установлен ли я last 1 chrome version или >1% in NL (это значительно больше и более старые браузеры), файл сборки имеет одинаковый размер (около 3 МБ).

webpack bundle size

Что мне не хватает?

У меня есть тестовое репо здесь: https://github.com/publicJorn/jorns-react-starter

Для справки, соответствующие файлы:

.babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage",
        "corejs": { "version": 3, "proposals": true }
      }
    ],
    "@babel/preset-react"
  ],
  "plugins": [
    [
      "@babel/plugin-proposal-object-rest-spread",
      {
        "useBuiltIns": true
      }
    ],
    ["@babel/plugin-proposal-class-properties"],
    ["@babel/plugin-syntax-dynamic-import"],
    ["babel-plugin-styled-components"]
  ]
}

веб-часть

module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      }
    ]
  },

.browserslistrc

> 1% in NL
ie 11
not ie < 11

index.js

import 'core-js/stable'

// etc..
...