From 382592a583936339a15ff494bedd499f14ea8c0e Mon Sep 17 00:00:00 2001 From: yyzcl Date: Mon, 25 Jan 2021 21:05:28 +0800 Subject: [PATCH 01/75] docs(zh): fix code demo (#6237) --- docs/zh/dev-guide/plugin-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/dev-guide/plugin-dev.md b/docs/zh/dev-guide/plugin-dev.md index 831b6a9fa9..3ab73d4c06 100644 --- a/docs/zh/dev-guide/plugin-dev.md +++ b/docs/zh/dev-guide/plugin-dev.md @@ -347,7 +347,7 @@ api.registerCommand( description: 'Write a greeting to the console', usage: 'vue-cli-service greet' }, - () = > { + () => { console.log(`👋 Hello`) } ) From 89f88efe543583f7d0e51ef5cd6e46fa434bae27 Mon Sep 17 00:00:00 2001 From: Anzelika <36598337+anzuj@users.noreply.github.com> Date: Wed, 27 Jan 2021 14:58:06 +0100 Subject: [PATCH 02/75] docs: update deployment.md for github custom domains (#6239) Adding information about omitting publicpath config if you deploy to a custom domain. --- docs/guide/deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 13f2d63c9b..8caafc17bf 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -39,7 +39,7 @@ If you are using the PWA plugin, your app must be served over HTTPS so that [Ser 1. Set correct `publicPath` in `vue.config.js`. - If you are deploying to `https://.github.io/`, you can omit `publicPath` as it defaults to `"/"`. + If you are deploying to `https://.github.io/` or to a custom domain, you can omit `publicPath` as it defaults to `"/"`. If you are deploying to `https://.github.io//`, (i.e. your repository is at `https://github.com//`), set `publicPath` to `"//"`. For example, if your repo name is "my-project", your `vue.config.js` should look like this: From e910e9c215a05412ce2fdaf15fe12ffc933286fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Busche?= Date: Mon, 8 Feb 2021 12:46:28 +0100 Subject: [PATCH 03/75] docs: add note about loader incompatible with webpack 4 (#6266) --- docs/guide/css.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/guide/css.md b/docs/guide/css.md index a8f297224d..dfb7cf248a 100644 --- a/docs/guide/css.md +++ b/docs/guide/css.md @@ -21,6 +21,15 @@ npm install -D less-loader less npm install -D stylus-loader stylus ``` +::: tip Note on webpack 4 +When using `webpack` version 4, the default in Vue CLI 4, you need to make sure your loaders are compatible with it. Otherwise you will get errors about confliciting peer dependencies. In this case you can use an older version of the loader that is still compatible with `webpack` 4. + +``` bash +# Sass +npm install -D sass-loader@^10 sass +``` +::: + Then you can import the corresponding file types, or use them in `*.vue` files with: ``` vue From fb2205d77940f64893f971e1071ec43cdb4ecf9a Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Tue, 9 Feb 2021 20:29:34 +0100 Subject: [PATCH 04/75] docs: add JSDoc @type tag to config (#6272) [ci skip] Add JSDoc: @type for better editor support. https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html --- docs/config/README.md | 4 ++++ docs/ru/config/README.md | 4 ++++ docs/zh/config/README.md | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/docs/config/README.md b/docs/config/README.md index 1479c86236..3ff52ed8d5 100644 --- a/docs/config/README.md +++ b/docs/config/README.md @@ -22,6 +22,10 @@ The file should export an object containing options: ``` js // vue.config.js + +/** + * @type {import('@vue/cli-service').ProjectOptions} + */ module.exports = { // options... } diff --git a/docs/ru/config/README.md b/docs/ru/config/README.md index 2f31f0dd49..b61e28110b 100644 --- a/docs/ru/config/README.md +++ b/docs/ru/config/README.md @@ -22,6 +22,10 @@ sidebar: auto ```js // vue.config.js + +/** + * @type {import('@vue/cli-service').ProjectOptions} + */ module.exports = { // настройки... } diff --git a/docs/zh/config/README.md b/docs/zh/config/README.md index 8843a6bd96..1d7380fe0c 100644 --- a/docs/zh/config/README.md +++ b/docs/zh/config/README.md @@ -22,6 +22,10 @@ sidebar: auto ``` js // vue.config.js + +/** + * @type {import('@vue/cli-service').ProjectOptions} + */ module.exports = { // 选项... } From 65d5f7aec5264c2a97ce0a9be694b7395aafb560 Mon Sep 17 00:00:00 2001 From: Xinwen <43830077+xzhang8102@users.noreply.github.com> Date: Sat, 20 Mar 2021 15:57:05 +0800 Subject: [PATCH 05/75] docs: Minor change on the staging mode example (#6365) [skip ci] * Minor change on the staging mode example As a beginner, I was confused with the parentheses staging line of the example. I thought the parentheses were the pattern to make the env variable work. I hope the change that I made could help. --- docs/guide/mode-and-env.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/mode-and-env.md b/docs/guide/mode-and-env.md index 9f5ec8baf8..acf5b0fc67 100644 --- a/docs/guide/mode-and-env.md +++ b/docs/guide/mode-and-env.md @@ -86,7 +86,7 @@ And the following `.env.staging` file: ``` NODE_ENV=production -VUE_APP_TITLE=My App (staging) +VUE_APP_TITLE=My Staging App ``` - `vue-cli-service build` builds a production app, loading `.env`, `.env.production` and `.env.production.local` if they are present; From 6563bc71a889dedecaf985a1295691f8274eff42 Mon Sep 17 00:00:00 2001 From: Alexander Sokolov Date: Tue, 13 Apr 2021 16:31:15 +0300 Subject: [PATCH 06/75] docs: [RU] Translation update (#6417) * docs: (ru) config/readme.md update * docs: (ru) eslint.md update * docs: (ru) cli-service.md update * docs: (ru) css.md update * docs: (ru) mode-and-env.md update * docs: (ru) deployment.md update Co-authored-by: Alex Sokolov <4497128+Alex-Sokolov@users.noreply.github.com> --- docs/ru/config/README.md | 12 +++++++++++- docs/ru/core-plugins/eslint.md | 8 ++++++-- docs/ru/guide/cli-service.md | 11 ++++------- docs/ru/guide/css.md | 9 +++++++++ docs/ru/guide/deployment.md | 28 ++++++++++++++++++++++------ docs/ru/guide/mode-and-env.md | 10 ++++++++-- 6 files changed, 60 insertions(+), 18 deletions(-) diff --git a/docs/ru/config/README.md b/docs/ru/config/README.md index b61e28110b..f290869fee 100644 --- a/docs/ru/config/README.md +++ b/docs/ru/config/README.md @@ -271,7 +271,7 @@ module.exports = { - Тип: `boolean | Object` - По умолчанию: `true` в режиме production, `false` в режиме development - Извлечение CSS из ваших компонентов в отдельные CSS-файлы (вместо инлайна в JavaScript и динамического внедрения). + Извлечение CSS из ваших компонентов в отдельный CSS-файл (вместо инлайна в JavaScript и динамического внедрения). Это всегда отключается при сборке веб-компонентов (в этом случае инлайн стили внедряются в shadowRoot). @@ -377,6 +377,16 @@ module.exports = { } ``` +### devServer.inline + +- Тип: `boolean` +- По умолчанию: `true` + + Переключение между двумя режимами работы сервера разработки. Более подробная информация об опции — [devServer.inline](https://webpack.js.org/configuration/dev-server/#devserverinline). Обратите внимание: + + - При использовании `iframe mode` дополнительная конфигурация не требуется. Просто перейдите в браузере по адресу `http://:/webpack-dev-server/` для отладки приложения. В верхней части страницы будут появляться уведомления. + - При использовании `inline mode`, просто перейдите в браузере по адресу `http://:/` для отладки приложения. Сообщения о сборке будут появляться в консоли браузера. + ### parallel - Тип: `boolean | number` diff --git a/docs/ru/core-plugins/eslint.md b/docs/ru/core-plugins/eslint.md index 0cc2566019..a956e0d37e 100644 --- a/docs/ru/core-plugins/eslint.md +++ b/docs/ru/core-plugins/eslint.md @@ -17,9 +17,13 @@ --max-warnings количество предупреждений, по достижению которого сборка заканчивается ошибкой (по умолчанию: Infinity) ``` - Проверяет и исправляет файлы. Если конкретные файлы для проверки не указаны, то будут проверяться все файлы в `src` и `tests`. + Проверяет и исправляет файлы. Если не указаны конкретные файлы для проверки, то будут проверяться все файлы в `src` и `tests`, а также все файлы JavaScript в корневом каталоге (чаще всего это файлы конфигурации, например `babel.config.js` или `.eslintrc.js`). - Другие [настройки ESLint CLI](https://eslint.org/docs/user-guide/command-line-interface#options) также поддерживаются. + Также поддерживаются и другие [настройки ESLint CLI](https://eslint.org/docs/user-guide/command-line-interface#options). + + :::tip Совет + По умолчанию `vue-cli-service lint` проверяет файлы, именуемые с точки `.*.js`. Если вместо этого требуется поведение ESLint по умолчанию, то следует добавить в проект файл `.eslintignore`. + ::: ## Конфигурация diff --git a/docs/ru/guide/cli-service.md b/docs/ru/guide/cli-service.md index 35eeea09e5..bf688e058f 100644 --- a/docs/ru/guide/cli-service.md +++ b/docs/ru/guide/cli-service.md @@ -123,16 +123,16 @@ npx vue-cli-service help npx vue-cli-service help [command] ``` -## Пропуск плагинов +## Исключение плагинов при запуске -Иногда при выполнении команды может понадобиться не использовать определённый плагин CLI. К примеру, для создания сборки приложения без плагина PWA. Такого можно добиться передав имя плагина в опцию `--skip-plugins`. +Можно исключить определённые плагины при запуске команды, передав имя плагина опцией `--skip-plugins`. ```bash npx vue-cli-service build --skip-plugins pwa ``` ::: tip СОВЕТ -Опция доступна для _любых_ команд `vue-cli-service`, включая пользовательские команды, добавленные другими плагинами. +Опция доступна для _любых_ команд `vue-cli-service`, в том числе и для пользовательских команд, добавленных другими плагинами. ::: Можно пропустить несколько подключаемых плагинов, передав их имена через запятую: @@ -166,10 +166,7 @@ npx vue-cli-service build --skip-plugins @vue/cli-plugin-pwa "pre-commit": "lint-staged" }, "lint-staged": { - "*.{js,vue}": [ - "vue-cli-service lint", - "git add" - ] + "*.{js,vue}": "vue-cli-service lint" } } ``` diff --git a/docs/ru/guide/css.md b/docs/ru/guide/css.md index 5e38485a97..f4032ada72 100644 --- a/docs/ru/guide/css.md +++ b/docs/ru/guide/css.md @@ -21,6 +21,15 @@ npm install -D less-loader less npm install -D stylus-loader stylus ``` +:::tip Примечание при использовании webpack 4 +При использовании `webpack` версии 4, по умолчанию во Vue CLI 4, следует убедиться в совместимости используемых загрузчиков. В противном случае будут появляться ошибки о конфликтующих зависимостях. В таких случаях можно использовать более старую версию загрузчика, которая всё ещё совместима с `webpack` 4. + +```bash +# Sass +npm install -D sass-loader@^10 sass +``` +::: + Теперь вы можете импортировать соответствующие типы файлов, или использовать их синтаксис внутри файлов `*.vue` с помощью: ```vue diff --git a/docs/ru/guide/deployment.md b/docs/ru/guide/deployment.md index ca4d532324..632fb9e005 100644 --- a/docs/ru/guide/deployment.md +++ b/docs/ru/guide/deployment.md @@ -39,7 +39,7 @@ serve -s dist 1. Установите корректное значение `publicPath` в `vue.config.js`. - Если вы публикуете по адресу `https://.github.io/`, вы можете опустить `publicPath`, так как оно по умолчанию `"/"`. + Если публикуете по адресу `https://.github.io/` или на пользовательский домен, то можно опустить `publicPath`, так как оно по умолчанию `"/"`. Если вы публикуете по адресу `https://.github.io//`, (т.е. ваш репозиторий находится по адресу `https://github.com//`), установите `publicPath` в значение `"//"`. Например, если ваш репозиторий называется "my-project", то ваш `vue.config.js` будет выглядеть примерно так: @@ -163,15 +163,32 @@ module.exports = { Также посмотрите [vue-cli-plugin-netlify-lambda](https://github.com/netlify/vue-cli-plugin-netlify-lambda). -Для получения прямых хитов при использовании `режима history` во Vue Router, необходимо создавать файл `_redirects` в каталоге `/public` со следующим содержимым: +#### Использование режима history во Vue Router + +Для получения прямых хитов при использовании `режима history` во Vue Router, необходимо перенаправлять весь трафик в файл `/index.html`. + +> Подробнее можно изучить в [документации Netlify по перенаправлениям](https://docs.netlify.com/routing/redirects/rewrites-proxies/#history-pushstate-and-single-page-apps). + +##### Рекомендуемый метод + +Создать файл `netlify.toml` в корневом каталоге репозитория со следующим содержимым: + +```toml +[[redirects]] + from = "/*" + to = "/index.html" + status = 200 +``` + +##### Альтернативный метод + +Создать файл `_redirects` в каталоге `/public` со следующим содержимым: ``` # Настройки Netlify для одностраничных приложений (SPA) /* /index.html 200 ``` -Подробнее можно изучить в [документации Netlify по перенаправлениям](https://www.netlify.com/docs/redirects/#history-pushstate-and-single-page-apps). - При использовании [@vue/cli-plugin-pwa](../core-plugins/pwa.md#vue-cli-plugin-pwa) убедитесь, что файл `_redirects` не кэшируется service worker. Для этого добавьте в `vue.config.js` следующее: @@ -194,11 +211,10 @@ module.exports = { [Render](https://render.com) предлагает [бесплатный хостинг статических сайтов](https://render.com/docs/static-sites) с полностью управляемым SSL, глобальным CDN и непрерывным автоматическим развёртыванием из GitHub. -1. Создайте новый Web Service в Render, и предоставьте доступ для GitHub-приложения Render в репозиторий. +1. Создайте новый Static Site в Render, и предоставьте доступ для GitHub-приложения Render в репозиторий. 2. При создании используйте следующие значения: - - **Окружение:** `Static Site` - **Команда сборки:** `npm run build` или `yarn build` - **Каталог публикации:** `dist` diff --git a/docs/ru/guide/mode-and-env.md b/docs/ru/guide/mode-and-env.md index 07cf7dfee1..2fbde776ba 100644 --- a/docs/ru/guide/mode-and-env.md +++ b/docs/ru/guide/mode-and-env.md @@ -54,7 +54,13 @@ VUE_APP_NOT_SECRET_CODE=some_value Обратите внимание, что только `NODE_ENV`, `BASE_URL` и переменные, именованные с префикса `VUE_APP_`, статически внедрятся в *клиентскую сборку* с помощью `webpack.DefinePlugin`. Это сделано во избежание случайного обнародования закрытого ключа на машине, которая может иметь такое же имя. -Подробнее о правилах парсинга env можно узнать [в документации `dotenv`](https://github.com/motdotla/dotenv#rules). Мы также используем [dotenv-expand](https://github.com/motdotla/dotenv-expand) для переменных расширения (доступно в Vue CLI 3.5+). +Подробнее о правилах парсинга env [в документации `dotenv`](https://github.com/motdotla/dotenv#rules). Можно также использовать [dotenv-expand](https://github.com/motdotla/dotenv-expand) для переменных расширения (доступно с версии Vue CLI 3.5+). Например: + +```bash +FOO=foo +BAR=bar +CONCAT=$FOO$BAR # CONCAT=foobar +``` Загруженные переменные станут доступны всем командам `vue-cli-service`, плагинам и зависимостям. @@ -78,7 +84,7 @@ VUE_APP_TITLE=My App ``` NODE_ENV=production -VUE_APP_TITLE=My App (staging) +VUE_APP_TITLE=My Staging App ``` - `vue-cli-service build` собирает приложение для production, загружает `.env`, `.env.production` и `.env.production.local` если они существуют; From ad213f04294a7cd6529af2961894d3e23b60c967 Mon Sep 17 00:00:00 2001 From: MowlCoder <44770125+MowlCoder@users.noreply.github.com> Date: Fri, 16 Apr 2021 15:31:15 +0300 Subject: [PATCH 07/75] docs: fix `master` to `main` in heroku deployment (#6359) --- docs/guide/deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 8caafc17bf..2120367af4 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -363,7 +363,7 @@ heroku login heroku create heroku buildpacks:add heroku/nodejs heroku buildpacks:add https://github.com/heroku/heroku-buildpack-static -git push heroku master +git push heroku main ``` More info: [Getting started with SPAs on Heroku](https://gist.github.com/hone/24b06869b4c1eca701f9) From 3b92671ddbba28e06cffc8e916497cff70651069 Mon Sep 17 00:00:00 2001 From: Alec Barrett Date: Mon, 10 May 2021 09:36:32 -0400 Subject: [PATCH 08/75] docs: replace master with main to reflect GH default (#6377) --- docs/guide/deployment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 2120367af4..97c616e0fc 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -75,10 +75,10 @@ If you are using the PWA plugin, your app must be served over HTTPS so that [Ser git commit -m 'deploy' # if you are deploying to https://.github.io - # git push -f git@github.com:/.github.io.git master + # git push -f git@github.com:/.github.io.git main # if you are deploying to https://.github.io/ - # git push -f git@github.com:/.git master:gh-pages + # git push -f git@github.com:/.git main:gh-pages cd - ``` @@ -112,7 +112,7 @@ If you are using the PWA plugin, your app must be served over HTTPS so that [Ser github_token: $GITHUB_TOKEN local_dir: dist on: - branch: master + branch: main ``` 6. Push the `.travis.yml` file to your repository to trigger the first build. From b632a32a45b6b7ed57b3806bbb0dca0d4939374b Mon Sep 17 00:00:00 2001 From: HelloJiya <77369341+HelloJiya@users.noreply.github.com> Date: Mon, 9 Aug 2021 16:44:01 +0800 Subject: [PATCH 09/75] docs(zh): the plugin-dev in zh has a regexp missing the end / (#6623) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 大宝 <742393511@qq.com> --- docs/zh/dev-guide/plugin-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/dev-guide/plugin-dev.md b/docs/zh/dev-guide/plugin-dev.md index 3ab73d4c06..a1609e202b 100644 --- a/docs/zh/dev-guide/plugin-dev.md +++ b/docs/zh/dev-guide/plugin-dev.md @@ -152,7 +152,7 @@ export default { extend: '@vue/cli-service/generator/template/src/App.vue' replace: - !!js/regexp /Welcome to Your Vue\.js App/ - - !!js/regexp /