You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.4 KiB

3 months ago
  1. # @vue/cli-plugin-babel
  2. > babel plugin for vue-cli
  3. ## Configuration
  4. Uses Babel 7 + `babel-loader` + [@vue/babel-preset-app](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/babel-preset-app) by default, but can be configured via `babel.config.js` to use any other Babel presets or plugins.
  5. By default, `babel-loader` excludes files inside `node_modules` dependencies. If you wish to explicitly transpile a dependency module, you will need to add it to the `transpileDependencies` option in `vue.config.js`:
  6. ``` js
  7. module.exports = {
  8. transpileDependencies: [
  9. // can be string or regex
  10. 'my-dep',
  11. /other-dep/
  12. ]
  13. }
  14. ```
  15. ## Caching
  16. Cache options of [babel-loader](https://github.com/babel/babel-loader#options) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/babel-loader`.
  17. ## Parallelization
  18. [thread-loader](https://github.com/webpack-contrib/thread-loader) is enabled by default when the machine has more than 1 CPU cores. This can be turned off by setting `parallel: false` in `vue.config.js`.
  19. `parallel` should be set to `false` when using Babel in combination with non-serializable loader options, such as regexes, dates and functions. These options would not be passed correctly to `babel-loader` which may lead to unexpected errors.
  20. ## Installing in an Already Created Project
  21. ```bash
  22. vue add babel
  23. ```
  24. ## Injected webpack-chain Rules
  25. - `config.rule('js')`
  26. - `config.rule('js').use('babel-loader')`