Что означает эта ошибка?С опцией `useBuiltIns` требуется прямая установка опции` corejs` - PullRequest
11 голосов
/ 20 марта 2019

Я только начал получать эту ошибку в моей статической сборке активов с parcel.js.Он работает локально, но моя сборка на Heroku дает ошибки, и я не уверен, что это связано.

Ответы [ 5 ]

6 голосов
/ 20 марта 2019

Получение той же проблемы. Решил его, установив core-js как зависимость верхнего уровня, а затем добавив его в качестве опции в .babelrc

npm install --save core-js@3

Затем обновил мой файл .babelrc, чтобы включить его в качестве опции:

 {
  "presets": [
    [ "@babel/preset-env", {
      "useBuiltIns": "entry",
      "corejs": 3
    }]
  ],
  "plugins": [
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-syntax-import-meta",
    ["@babel/plugin-proposal-class-properties", { "loose": false }],
    "@babel/plugin-proposal-json-strings"
  ]
}

Я ссылался на документы здесь, чтобы понять это https://babeljs.io/docs/en/babel-preset-env#usebuiltins

1 голос
/ 21 марта 2019

Документация гласит: «Вам может потребоваться указать core-js @ 2 в качестве зависимости верхнего уровня в вашем приложении».https://babeljs.io/docs/en/babel-preset-env#usebuiltins

Это сработало для меня:

npm i core-js@2

Тогда в вашей конфигурации Babel:

{
  presets: [
    [
      "@babel/env", // or others like "@vue/app"
      {
        "useBuiltIns": "usage",
        "corejs": "core-js@2",
        // ...
1 голос
/ 20 марта 2019

Вам необязательно указывать core-js в качестве зависимости. Просто установите core-js версию в конфигурации babel @babel/env следующим образом:

[
  '@babel/env',
  {
    targets: {
    ...
    corejs: 'core-js@2'
  }
]
0 голосов
/ 21 марта 2019

После прочтения связанных обсуждений на github и предлагаемых здесь решениях, похоже, покажем следующее:

  1. Добавьте core-js @ 2 к вашим зависимостям npm i core-js@2

  2. Игнорировать предупреждения при строительстве

При игре с изменениями целей конфигурации babel я сталкивался с ошибками либо при сборке, либо при обслуживании проекта.

0 голосов
/ 20 марта 2019

Об этом сообщается в parcel.js: https://github.com/parcel-bundler/parcel/issues/2819

Это связано с мягким изменением в недавно выпущенном @ babel / core 7.4 и, по-видимому, требует изменения файла parcel.js.

Решение до сих пор состоит в том, чтобы:

  • lock @ babel / core до ~ 7.3: "@babel/core": "~7.3"
  • вообще не обновлять зависимости, если они заблокированы
...