путать с предустановленными конфигами babel между @ babel / env и @ babel / preset-env - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь настроить среду для разработки javascript с помощью babel и webpack.

Но я не понимаю конфигурации вавилона о presets.

В Руководство по использованию , мы можем видеть, что пресеты с "@babel/env".

Но в других местах документа я больше не вижу такой конфигурации, вместо "@babel/preset-env". например здесь https://babeljs.io/docs/en/babel-preset-env

Я не могу найти разницу между "@babel/env" и "@babel/preset-env" везде со своим плохим английским, я действительно читаю документ снова и снова, без удачи.

Может быть, они одинаковы?

Кстати, наборы целей, кажется, не работают, удаление целей также может нормально выполняться в ie9 + (или каковы его цели по умолчанию), если я хочу, чтобы мой сценарий es6 мог быть преобразован в совместимость ie8, таким образом, это не самое важное.

вот мой проект sdk-dev-env

// https://babeljs.io/docs/en/configuration
const presets = [
  [
    '@babel/env',
    {
      // https://babeljs.io/docs/en/babel-preset-env#targets
      // TODO: how to compatibilite with ie 8
      targets: {
        ie: '8',
        edge: '17',
        firefox: '60',
        chrome: '67',
        safari: '11.1'
        /**
         * you can also set browsers in package.json
         * "browserslist": ["last 3 versions"]
         * relative links:
         * https://github.com/browserslist/browserslist
         */
      },
      corejs: '3',
      // corejs: { version: 3, proposals: true },
      /**
       * https://babeljs.io/docs/en/usage#polyfill
       * https://github.com/zloirock/core-js#babelpreset-env
       * "usage" will practically apply the last optimization mentioned above where you only include the polyfills you need
       */
      useBuiltIns: 'usage'
    }
  ]
]
const plugins = []

if (process.env['ENV'] === 'prod') {
  // plugins.push(...);
}
module.exports = { presets, plugins }

Я надеюсь знать, что они одинаковы или нет, если нет, то чем отличаются.

И лучший способ использовать babeljs 7.4 с core-js 3

1 Ответ

0 голосов
/ 13 мая 2019

Может быть, они одинаковы?

Правильно, кусок preset- необязателен. Так как вы делаете

presets: ["@babel/env"]

Babel уже знает, что это предустановка, поэтому он автоматически добавит preset- в имя модуля.

...