From acae8e7ae4a889cdff52a1bd79c63056747df229 Mon Sep 17 00:00:00 2001 From: Alexander Sokolov Date: Wed, 11 Nov 2020 11:03:35 +0300 Subject: [PATCH] docs: [RU] Translation update (#6005) * docs: [RU] update migrating-from-v3.md * docs: [RU] update prototyping.md * docs: [RU] update webpack.md * docs: [RU] fix typos in cli-service.md * Update docs/ru/guide/prototyping.md Co-Authored-By: Natalia Tepluhina * docs: (ru) pwa.md update * docs: (ru) browser-compatibility.md fix import * docs: (ru) deployment.md fix example * docs: (ru) installation.md update * docs: (ru) deployment.md update link * docs: (ru) core-plugins/eslint fix * docs: (ru) pwa.md update * docs(ru): plugin-dev.md fix link * docs(ru): cli-service.md update * docs(ru): pwa.md update * docs(ru): pwa.md update * Update docs/ru/core-plugins/pwa.md Co-authored-by: Natalia Tepluhina * Update docs/ru/core-plugins/pwa.md Co-authored-by: Natalia Tepluhina * docs: (ru) eslint.md update * docs: (ru) deployment.md * docs: (ru) update plugins menu * docs: (ru) added WebdriverIO * Update docs/ru/core-plugins/e2e-webdriverio.md Co-authored-by: Natalia Tepluhina * docs(ru): added tips for parallel option * docs(ru): plugin-dev.md update * docs(ru): installation.md update * docs(ru): consistent code blocks * docs(ru): deployment.md update * docs(ru): deployment.md change now to vercel * docs(ru): plugins-and-presets.md update * docs(ru): installation.md update * docs(ru): deployment.md update * docs(ru): webpack.md update * docs(ru): deployment.md update * docs(ru): mode-and-env.md update Co-authored-by: Alex Sokolov <4497128+Alex-Sokolov@users.noreply.github.com> Co-authored-by: Natalia Tepluhina --- docs/ru/config/README.md | 4 + docs/ru/core-plugins/babel.md | 2 + docs/ru/core-plugins/e2e-webdriverio.md | 2 +- docs/ru/core-plugins/typescript.md | 2 + docs/ru/dev-guide/plugin-dev.md | 2 +- docs/ru/guide/deployment.md | 99 ++++++++++--------------- docs/ru/guide/installation.md | 8 +- docs/ru/guide/mode-and-env.md | 14 +++- docs/ru/guide/plugins-and-presets.md | 2 +- docs/ru/guide/webpack.md | 6 ++ 10 files changed, 71 insertions(+), 70 deletions(-) diff --git a/docs/ru/config/README.md b/docs/ru/config/README.md index 16b7e7b83..2f31f0dd4 100644 --- a/docs/ru/config/README.md +++ b/docs/ru/config/README.md @@ -380,6 +380,10 @@ module.exports = { Использовать ли `thread-loader` для транспиляции Babel или TypeScript. Включается для production-сборок, когда система имеет более 1 процессорных ядер. Указание числа определит количество задействованных воркеров (workers). +::: warning Внимание +Не используйте `parallel` в комбинации с не-сериализуемыми опциями загрузчика, такими как регулярные выражения, даты и функции. Такие опции не будут корректно переданы соответствующим загрузчикам, что может привести к неожиданным ошибкам. +::: + ### pwa - Тип: `Object` diff --git a/docs/ru/core-plugins/babel.md b/docs/ru/core-plugins/babel.md index 0182ee71c..f231c68f1 100644 --- a/docs/ru/core-plugins/babel.md +++ b/docs/ru/core-plugins/babel.md @@ -26,6 +26,8 @@ module.exports = { [thread-loader](https://github.com/webpack-contrib/thread-loader) используется по умолчанию, если машина имеет более 1 ядра CPU. Это можно отключить указав `parallel: false` в файле `vue.config.js`. +Опция `parallel` должна быть установлена в `false` при использовании Babel в комбинации с не-сериализуемыми опциями загрузчика, таким как регулярные выражения, даты и функции. Такие опции не будут корректно переданы в `babel-loader`, что может привести к неожиданным ошибкам. + ## Установка в уже созданный проект ```sh diff --git a/docs/ru/core-plugins/e2e-webdriverio.md b/docs/ru/core-plugins/e2e-webdriverio.md index e8084dd12..ff6b169ea 100644 --- a/docs/ru/core-plugins/e2e-webdriverio.md +++ b/docs/ru/core-plugins/e2e-webdriverio.md @@ -46,7 +46,7 @@ tests/e2e/ ## Установка в уже созданный проект -``` sh +```sh vue add e2e-webdriverio ``` diff --git a/docs/ru/core-plugins/typescript.md b/docs/ru/core-plugins/typescript.md index 5ce2c61e8..b5c9c47a0 100644 --- a/docs/ru/core-plugins/typescript.md +++ b/docs/ru/core-plugins/typescript.md @@ -24,6 +24,8 @@ TypeScript может быть сконфигурирован через `tsconf [thread-loader](https://github.com/webpack-contrib/thread-loader) используется по умолчанию, если машина имеет более 1 ядра CPU. Это можно отключить указав `parallel: false` в файле `vue.config.js`. +Опция `parallel` должна быть установлена в `false` при использовании Typescript в комбинации с не-сериализуемыми опциями загрузчика, таким как регулярные выражения, даты и функции. Такие опции не будут корректно переданы в `ts-loader`, что может привести к неожиданным ошибкам. + ## Установка в уже созданный проект ```sh diff --git a/docs/ru/dev-guide/plugin-dev.md b/docs/ru/dev-guide/plugin-dev.md index 912598697..5f806869b 100644 --- a/docs/ru/dev-guide/plugin-dev.md +++ b/docs/ru/dev-guide/plugin-dev.md @@ -289,7 +289,7 @@ module.exports.hooks = (api) => { const renderIndex = lines.findIndex(line => line.match(/render/)) lines[renderIndex] += `${EOL} router,` - fs.writeFileSync(api.entryFile, lines.join(EOL), { encoding: 'utf-8' }) + fs.writeFileSync(api.resolve(api.entryFile), lines.join(EOL), { encoding: 'utf-8' }) }) } ``` diff --git a/docs/ru/guide/deployment.md b/docs/ru/guide/deployment.md index 264c19b87..ca4d53232 100644 --- a/docs/ru/guide/deployment.md +++ b/docs/ru/guide/deployment.md @@ -44,6 +44,8 @@ serve -s dist Если вы публикуете по адресу `https://.github.io//`, (т.е. ваш репозиторий находится по адресу `https://github.com//`), установите `publicPath` в значение `"//"`. Например, если ваш репозиторий называется "my-project", то ваш `vue.config.js` будет выглядеть примерно так: ```js + // файл vue.config.js должен быть расположен в корневом каталоге проекта + module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/my-project/' @@ -170,6 +172,24 @@ module.exports = { Подробнее можно изучить в [документации 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` следующее: + +```js +// файл vue.config.js должен быть расположен в корневом каталоге проекта + +module.exports = { + pwa: { + workboxOptions: { + exclude: [/_redirects/] + } + } +} +``` + +Подробнее об опциях [workboxOptions](../core-plugins/pwa.md#configuration) и [exclude](https://developers.google.com/web/tools/workbox/reference-docs/latest/module-workbox-webpack-plugin.InjectManifest#InjectManifest). + ### Render [Render](https://render.com) предлагает [бесплатный хостинг статических сайтов](https://render.com/docs/static-sites) с полностью управляемым SSL, глобальным CDN и непрерывным автоматическим развёртыванием из GitHub. @@ -259,79 +279,40 @@ firebase deploy --only hosting Обратитесь к [документации Firebase](https://firebase.google.com/docs/hosting/deploying) для получения более подробной информации. -### Now +### Vercel -В данном примере используется последняя версия платформы Now версии 2. +[Vercel](https://vercel.com/home) — облачная платформа, позволяющая разработчикам хостить Jamstack веб-сайты и веб-сервисы, которые публикуются мгновенно, автоматически масштабируются и не требуют никакого контроля, всё это с zero-конфигурацией. Они обеспечивают глобальный доступ, SSL-шифрование, сжатие ресурсов, инвалидацию кэша и многое другое. -1. Установите Now CLI: +#### Шаг 1: Публикация проекта Vue на Vercel -```bash -npm install -g now +Для публикации проекта Vue с помощью [Vercel для интеграции с Git](https://vercel.com/docs/git-integrations), убедитесь, что он был выложен в Git-репозиторий. -# Или если предпочитаете локальную установку -npm install now -``` +Импортируйте проект в Vercel с помощью [Import Flow](https://vercel.com/import/git). Во время импорта будут запрошены все соответствующие [опции](https://vercel.com/docs/build-step#build-&-development-settings), предварительно сконфигурированные, но с возможностью изменения при необходимости. -2. Добавьте файл `now.json` в корневой каталог проекта: +После импорта проекта, все последующие push в ветку будут генерировать [публикации для предпросмотра](https://vercel.com/docs/platform/deployments#preview), а все изменения внесённые в [ветку Production](https://vercel.com/docs/git-integrations#production-branch) (обычно "master" или "main") будут приводить к [публикации Production](https://vercel.com/docs/platform/deployments#production). - ```json - { - "name": "my-example-app", - "version": 2, - "builds": [ - { - "src": "package.json", - "use": "@now/static-build" - } - ], - "routes": [ - { - "src": "/(js|css|img)/.*", - "headers": { "cache-control": "max-age=31536000, immutable" } - }, - { "handle": "filesystem" }, - { "src": ".*", "dest": "/" } - ], - "alias": "example.com" - } - ``` +После публикации вы получите URL-адрес для просмотра приложения вживую, например: https://vue-example-tawny.vercel.app/. - Если у вас есть другие/дополнительные каталоги, измените маршрут соответствующим образом: +#### Шаг 2 (опционально): Использование пользовательского домена - ```diff - - { - - "src": "/(js|css|img)/.*", - - "headers": { "cache-control": "max-age=31536000, immutable" } - - } - + { - + "src": "/(js|css|img|fonts|media)/.*", - + "headers": { "cache-control": "max-age=31536000, immutable" } - + } - ``` +При необходимости использовать пользовательский домен при публикации Vercel, можно **Добавить** или **Перенаправить** домен через [настройки домена аккаунта](https://vercel.com/dashboard/domains) Vercel. - Когда значение `outputDir` вместо стандартного `dist` указано `build`: +Для добавления домена в проект, перейдите в раздел [Проект](https://vercel.com/docs/platform/projects) на панели Vercel. После выбора проекта перейдите на вкладку "Настройки", затем выберите пункт меню **Домены**. На странице **Домен** вашего проекта, укажите домен которые хотите использовать в проекте. - ```diff - - { - - "src": "package.json", - - "use": "@now/static-build" - - } - + { - + "src": "package.json", - + "use": "@now/static-build", - + "config": { "distDir": "build" } - + } - ``` +После добавления домена, будут предоставлены различные методы его настройки. -3. Добавьте `now-build` скрипт для публикации в `package.json`: +#### Публикация свежего проекта на Vue - ```json - "now-build": "npm run build" - ``` +Для публикации свежего проекта на Vue с настроенным Git-репозиторием, можно с помощью кнопки Deploy ниже: - Для публикации запустите `now`. +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/git?s=https%3A%2F%2Fgithub.com%2Fvercel%2Fvercel%2Ftree%2Fmaster%2Fexamples%2Fvue) - Если необходим псевдоним публикации, запустите `now --target production`. +## Ресурсы: + +- [Пример исходного кода](https://github.com/vercel/vercel/tree/master/examples/vue) +- [Официальное руководство Vercel](https://vercel.com/guides/deploying-vuejs-to-vercel) +- [Руководство по публикации Vercel](https://vercel.com/docs) +- [Документация по пользовательским доменам Vercel](https://vercel.com/docs/custom-domains) ### Stdlib diff --git a/docs/ru/guide/installation.md b/docs/ru/guide/installation.md index 50fafe462..90150989d 100644 --- a/docs/ru/guide/installation.md +++ b/docs/ru/guide/installation.md @@ -6,7 +6,7 @@ ::: ::: tip Требования к версии Node -Vue CLI требуется [Node.js](https://nodejs.org/) версии 8.9 или выше (рекомендуется 8.11.0+). Управлять несколькими версиями Node на машине можно с помощью [nvm](https://github.com/creationix/nvm) или [nvm-windows](https://github.com/coreybutler/nvm-windows). +Vue CLI 4.x требуется [Node.js](https://nodejs.org/) версии 8.9 или выше (рекомендуется v10+). Управлять несколькими версиями Node на машине можно через [n](https://github.com/tj/n), [nvm](https://github.com/creationix/nvm) или [nvm-windows](https://github.com/coreybutler/nvm-windows). ::: Для установки нового пакета используйте одну из следующих команд. Для их выполнения потребуются права администратора, если только npm не был установлен в системе через менеджер версий Node.js (например, n или nvm). @@ -29,7 +29,7 @@ vue --version Для обновления глобального пакета Vue CLI выполните команду: -``` bash +```bash npm update -g @vue/cli # ИЛИ yarn global upgrade --latest @vue/cli @@ -37,13 +37,13 @@ yarn global upgrade --latest @vue/cli #### Зависимости проекта -Команды обновления, показанные выше, только для глобально установленного пакета Vue CLI. Для обновления одного или нескольких пакетов, связанных с `@vue/cli` (включая пакеты, начинающиеся с `@vue/cli-plugin-`) внутри проекта, запустите `vue upgrade` в каталоге проекта: +Команды обновления, показанные выше, только для глобально установленного пакета Vue CLI. Для обновления одного или нескольких пакетов, связанных с `@vue/cli` (включая пакеты, начинающиеся с `@vue/cli-plugin-` или `vue-cli-plugin-`) внутри проекта, запустите `vue upgrade` в каталоге проекта: ``` Использование: upgrade [options] [plugin-name] (экспериментально) upgrade vue cli service / plugins Опции: - -t, --to Обновить до определённой версии + -t, --to Обновить до определённой версии -f, --from Пропустить проверку установленного плагина, предполагая что он будет обновляться с указанной версии -r, --registry Использовать указанный npm-регистр при установке зависимостей --all Обновить все плагины diff --git a/docs/ru/guide/mode-and-env.md b/docs/ru/guide/mode-and-env.md index 424dd48ef..07cf7dfee 100644 --- a/docs/ru/guide/mode-and-env.md +++ b/docs/ru/guide/mode-and-env.md @@ -43,10 +43,16 @@ vue-cli-service build --mode development ``` FOO=bar -VUE_APP_SECRET=secret +VUE_APP_NOT_SECRET_CODE=some_value ``` -Обратите внимание, что только переменные с префиксом `VUE_APP_` будут статически внедряться в клиентскую сборку с помощью `webpack.DefinePlugin`. +::: warning ВНИМАНИЕ +Не храните никаких секретов (например, приватных ключей API) в приложении! + +Так как переменные окружения внедряются в сборку, то любой желающий сможет увидеть их, изучив файлы сборки приложения. +::: + +Обратите внимание, что только `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+). @@ -86,10 +92,10 @@ VUE_APP_TITLE=My App (staging) Можно получить доступ к переменным окружения из кода приложения: ```js -console.log(process.env.VUE_APP_SECRET) +console.log(process.env.VUE_APP_NOT_SECRET_CODE) ``` -На этапе сборки `process.env.VUE_APP_SECRET` будет заменяться соответствующим значением. Когда в файле указано `VUE_APP_SECRET=secret` — после сборки значением будет `"secret"`. +На этапе сборки `process.env.VUE_APP_NOT_SECRET_CODE` будет заменяться соответствующим значением. Когда в файле указано `VUE_APP_NOT_SECRET_CODE=some_value` — после сборки значением будет `"some_value"`. В дополнение к переменным `VUE_APP_*` есть также две специальные переменные, которые всегда доступны в коде приложения: diff --git a/docs/ru/guide/plugins-and-presets.md b/docs/ru/guide/plugins-and-presets.md index 6d8d2ee2a..425f089dc 100644 --- a/docs/ru/guide/plugins-and-presets.md +++ b/docs/ru/guide/plugins-and-presets.md @@ -192,7 +192,7 @@ GitLab и BitBucket также поддерживаются. Убедитесь, vue create --preset gitlab:username/repo --clone my-project vue create --preset bitbucket:username/repo --clone my-project -# self-hosted repos +# репозитории на собственном хостинге vue create --preset gitlab:my-gitlab-server.com:group/projectname --clone my-project vue create --preset direct:ssh://git@my-gitlab-server.com/group/projectname.git --clone my-project ``` diff --git a/docs/ru/guide/webpack.md b/docs/ru/guide/webpack.md index 8811953aa..9bf7d96d9 100644 --- a/docs/ru/guide/webpack.md +++ b/docs/ru/guide/webpack.md @@ -161,6 +161,12 @@ module.exports = { vue inspect > output.js ``` +По умолчанию команда `inspect` показывает конфигурацию для разработки. Для отображения конфигурации для production необходимо запустить: + +```bash +vue inspect --mode production > output.prod.js +``` + Обратите внимание, что вывод не является файлом рабочей конфигурации webpack, это только сериализованный формат предназначенный для проверки. Вы также можете указать подмножество конфигурации для проверки, указав путь: