UNPKG

1.47 kBMarkdownView Raw
1# @vue/cli-plugin-babel
2
3> babel plugin for vue-cli
4
5## Configuration
6
7Uses 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
9By 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
12module.exports = {
13 transpileDependencies: [
14 // can be string or regex
15 'my-dep',
16 /other-dep/
17 ]
18}
19```
20
21## Caching
22
23Cache 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`.
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`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.
30
31## Installing in an Already Created Project
32
33```bash
34vue add babel
35```
36
37## Injected webpack-chain Rules
38
39- `config.rule('js')`
40- `config.rule('js').use('babel-loader')`