From b2b7d33768e58d62b04f65744ac7b651073c92da Mon Sep 17 00:00:00 2001 From: tiwuofficial Date: Wed, 4 Dec 2019 16:50:19 +0900 Subject: [PATCH] copy docs/ja/config/README.md --- docs/ja/config/README.md | 448 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 448 insertions(+) create mode 100644 docs/ja/config/README.md diff --git a/docs/ja/config/README.md b/docs/ja/config/README.md new file mode 100644 index 0000000000..1fc6b33c52 --- /dev/null +++ b/docs/ja/config/README.md @@ -0,0 +1,448 @@ +--- +sidebar: auto +--- + +# Configuration Reference + +## Global CLI Config + +Some global configurations for `@vue/cli`, such as your preferred package manager and your locally saved presets, are stored in a JSON file named `.vuerc` in your home directory. You can edit this file directly with your editor of choice to change the saved options. + +You can also use the `vue config` command to inspect or modify the global CLI config. + +## Target Browsers + +See the [Browser Compatibility](../guide/browser-compatibility.md#browserslist) section in guide. + +## vue.config.js + +`vue.config.js` is an optional config file that will be automatically loaded by `@vue/cli-service` if it's present in your project root (next to `package.json`). You can also use the `vue` field in `package.json`, but do note in that case you will be limited to JSON-compatible values only. + +The file should export an object containing options: + +``` js +// vue.config.js +module.exports = { + // options... +} +``` + +### baseUrl + +Deprecated since Vue CLI 3.3, please use [`publicPath`](#publicPath) instead. + +### publicPath + +- Type: `string` +- Default: `'/'` + + The base URL your application bundle will be deployed at (known as `baseUrl` before Vue CLI 3.3). This is the equivalent of webpack's `output.publicPath`, but Vue CLI also needs this value for other purposes, so you should **always use `publicPath` instead of modifying webpack `output.publicPath`**. + + By default, Vue CLI assumes your app will be deployed at the root of a domain, e.g. `https://www.my-app.com/`. If your app is deployed at a sub-path, you will need to specify that sub-path using this option. For example, if your app is deployed at `https://www.foobar.com/my-app/`, set `publicPath` to `'/my-app/'`. + + The value can also be set to an empty string (`''`) or a relative path (`./`) so that all assets are linked using relative paths. This allows the built bundle to be deployed under any public path, or used in a file system based environment like a Cordova hybrid app. + + ::: warning Limitations of relative publicPath + Relative `publicPath` has some limitations and should be avoided when: + + - You are using HTML5 `history.pushState` routing; + + - You are using the `pages` option to build a multi-paged app. + ::: + + This value is also respected during development. If you want your dev server to be served at root instead, you can use a conditional value: + + ``` js + module.exports = { + publicPath: process.env.NODE_ENV === 'production' + ? '/production-sub-path/' + : '/' + } + ``` + +### outputDir + +- Type: `string` +- Default: `'dist'` + + The directory where the production build files will be generated in when running `vue-cli-service build`. Note the target directory will be removed before building (this behavior can be disabled by passing `--no-clean` when building). + + ::: tip + Always use `outputDir` instead of modifying webpack `output.path`. + ::: + +### assetsDir + +- Type: `string` +- Default: `''` + + A directory (relative to `outputDir`) to nest generated static assets (js, css, img, fonts) under. + + ::: tip + `assetsDir` is ignored when overwriting the filename or chunkFilename from the generated assets. + ::: + +### indexPath + +- Type: `string` +- Default: `'index.html'` + + Specify the output path for the generated `index.html` (relative to `outputDir`). Can also be an absolute path. + +### filenameHashing + +- Type: `boolean` +- Default: `true` + + By default, generated static assets contains hashes in their filenames for better caching control. However, this requires the index HTML to be auto-generated by Vue CLI. If you cannot make use of the index HTML generated by Vue CLI, you can disable filename hashing by setting this option to `false`. + +### pages + +- Type: `Object` +- Default: `undefined` + + Build the app in multi-page mode. Each "page" should have a corresponding JavaScript entry file. The value should be an object where the key is the name of the entry, and the value is either: + + - An object that specifies its `entry`, `template`, `filename`, `title` and `chunks` (all optional except `entry`). Any other properties added beside those will also be passed directly to `html-webpack-plugin`, allowing user to customize said plugin; + - Or a string specifying its `entry`. + + ``` js + module.exports = { + pages: { + index: { + // entry for the page + entry: 'src/index/main.js', + // the source template + template: 'public/index.html', + // output as dist/index.html + filename: 'index.html', + // when using title option, + // template title tag needs to be <%= htmlWebpackPlugin.options.title %> + title: 'Index Page', + // chunks to include on this page, by default includes + // extracted common chunks and vendor chunks. + chunks: ['chunk-vendors', 'chunk-common', 'index'] + }, + // when using the entry-only string format, + // template is inferred to be `public/subpage.html` + // and falls back to `public/index.html` if not found. + // Output filename is inferred to be `subpage.html`. + subpage: 'src/subpage/main.js' + } + } + ``` + + ::: tip + When building in multi-page mode, the webpack config will contain different plugins (there will be multiple instances of `html-webpack-plugin` and `preload-webpack-plugin`). Make sure to run `vue inspect` if you are trying to modify the options for those plugins. + ::: + +### lintOnSave + +- Type: `boolean | 'warning' | 'default' | 'error'` +- Default: `true` + + Whether to perform lint-on-save during development using [eslint-loader](https://github.com/webpack-contrib/eslint-loader). This value is respected only when [`@vue/cli-plugin-eslint`](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint) is installed. + + When set to `true` or `'warning'`, `eslint-loader` will emit lint errors as warnings. By default, warnings are only logged to the terminal and does not fail the compilation, so this is a good default for development. + + To make lint errors show up in the browser overlay, you can use `lintOnSave: 'default'`. This will force `eslint-loader` to actually emit errors. this also means lint errors will now cause the compilation to fail. + + Setting it to `'errors'` will force eslint-loader to emit warnings as errors as well, which means warnings will also show up in the overlay. + + Alternatively, you can configure the overlay to display both warnings and errors: + + ``` js + // vue.config.js + module.exports = { + devServer: { + overlay: { + warnings: true, + errors: true + } + } + } + ``` + + When `lintOnSave` is a truthy value, `eslint-loader` will be applied in both development and production. If you want to disable `eslint-loader` during production build, you can use the following config: + + ``` js + // vue.config.js + module.exports = { + lintOnSave: process.env.NODE_ENV !== 'production' + } + ``` + +### runtimeCompiler + +- Type: `boolean` +- Default: `false` + + Whether to use the build of Vue core that includes the runtime compiler. Setting it to `true` will allow you to use the `template` option in Vue components, but will incur around an extra 10kb payload for your app. + + See also: [Runtime + Compiler vs. Runtime only](https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only). + +### transpileDependencies + +- Type: `Array` +- Default: `[]` + + By default `babel-loader` ignores all files inside `node_modules`. If you want to explicitly transpile a dependency with Babel, you can list it in this option. + +::: warning Jest config +This option is not respected by the [cli-unit-jest plugin](#jest), because in jest, we don't have to transpile code from `/node_modules` unless it uses non-standard features - Node >8.11 supports the latest ECMAScript features already. + +However, jest sometimes has to transform content from node_modules if that code uses ES6 `import`/`export` syntax. In that case, use the `transformIgnorePatterns` option in `jest.config.js`. + +See [the plugin's README](https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli-plugin-unit-jest/README.md) for more information. +::: + +### productionSourceMap + +- Type: `boolean` +- Default: `true` + + Setting this to `false` can speed up production builds if you don't need source maps for production. + +### crossorigin + +- Type: `string` +- Default: `undefined` + + Configure the `crossorigin` attribute on `` and `