@vue/cli-plugin-babel

Плагин babel для vue-cli

Конфигурация

По умолчанию используется Babel 7 + babel-loader + @vue/babel-preset-app, но есть возможность конфигурации через babel.config.js для использования любых других пресетов Babel или плагинов.

По умолчанию babel-loader исключает файлы внутри зависимостей из node_modules. Если вы хотите явно транспилировать модуль какой-то зависимости, необходимо указать его в опции transpileDependencies в файле vue.config.js:

module.exports = {
  transpileDependencies: [
    // может быть строкой или regex
    'my-dep',
    /other-dep/
  ]
}

Кэширование

cache-loader используется по умолчанию, кэш хранится в <projectRoot>/node_modules/.cache/babel-loader.

Параллелизация

thread-loader используется по умолчанию, если машина имеет более 1 ядра CPU. Это можно отключить указав parallel: false в файле vue.config.js.

Опция parallel должна быть установлена в false при использовании Babel в комбинации с не-сериализуемыми опциями загрузчика, таким как регулярные выражения, даты и функции. Такие опции не будут корректно переданы в babel-loader, что может привести к неожиданным ошибкам.

Установка в уже созданный проект

vue add babel

Внедряемые правила webpack-chain

  • config.rule('js')
  • config.rule('js').use('babel-loader')
  • config.rule('js').use('cache-loader')