1 | # @vue/cli-plugin-babel
|
2 |
|
3 | > babel plugin for vue-cli
|
4 |
|
5 | ## Configuration
|
6 |
|
7 | 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.
|
8 |
|
9 | 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`:
|
10 |
|
11 | ``` js
|
12 | module.exports = {
|
13 | transpileDependencies: [
|
14 | // can be string or regex
|
15 | 'my-dep',
|
16 | /other-dep/
|
17 | ]
|
18 | }
|
19 | ```
|
20 |
|
21 | ## Caching
|
22 |
|
23 | [cache-loader](https://github.com/webpack-contrib/cache-loader) is enabled by default and cache is stored in `<projectRoot>/node_modules/.cache/babel-loader`.
|
24 |
|
25 | ## Parallelization
|
26 |
|
27 | [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`.
|
28 |
|
29 | ## Installing in an Already Created Project
|
30 |
|
31 | ``` sh
|
32 | vue add babel
|
33 | ```
|
34 |
|
35 | ## Injected webpack-chain Rules
|
36 |
|
37 | - `config.rule('js')`
|
38 | - `config.rule('js').use('babel-loader')`
|
39 | - `config.rule('js').use('cache-loader')`
|