Skip to content

[DONE][Just Merge Me][Community Translation] Russian Docs Translation #587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 68 commits into from
Feb 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
0b618a5
- Initial commit
Jan 19, 2017
b063525
- Добавлен русский в LANGS.md
Jan 19, 2017
408098a
- extract-css переведён
Jan 19, 2017
f7f933b
- postcss.md переведён
Jan 19, 2017
9ef6330
- setup.md переведён
Jan 19, 2017
5ae2ead
- scoped-css.md частично переведён
Jan 19, 2017
48fecb1
- options.md переведён не до конца
Jan 19, 2017
3d42e68
- es2015.md частичный перевод
Jan 19, 2017
deb2e39
- README.md переведены заголовки
Jan 19, 2017
2500a1c
- advanced.md частичный перевод
Jan 19, 2017
7c16c39
- hot-reload.md переведён
Jan 19, 2017
4a35666
- pre-processors.md частичный перевод
Jan 19, 2017
e5df332
- css-modules.md частичный перевод
Jan 19, 2017
003ed32
- SUMMARY.md
Alex-Sokolov Jan 19, 2017
852b35d
- options.md
Alex-Sokolov Jan 19, 2017
5cf2e6a
spec.md
Alex-Sokolov Jan 19, 2017
e015d6b
Merge pull request #1 from Alex-Sokolov/master
gbezyuk Jan 20, 2017
06e0b3e
- es2015.md переведен
Alex-Sokolov Jan 22, 2017
d136760
- css-modules.md переведен
Alex-Sokolov Jan 22, 2017
ad09cdc
- scoped-css.md переведен
Alex-Sokolov Jan 22, 2017
973007e
- advanced.md переведен
Alex-Sokolov Jan 22, 2017
bc8928f
- pre-processor.md частично переведен
Alex-Sokolov Jan 22, 2017
4d5cc0f
- Мелкая правка в spec.md
Alex-Sokolov Jan 22, 2017
6e4d075
- asset-url частично переведен
Alex-Sokolov Jan 22, 2017
40df4a6
Merge pull request #2 from Alex-Sokolov/master
gbezyuk Jan 23, 2017
5c56106
- pre-processors допереведен
Alex-Sokolov Jan 27, 2017
1df68d2
Merge remote-tracking branch 'upstream/master'
Alex-Sokolov Jan 27, 2017
f199f82
- asset-url переведен
Alex-Sokolov Jan 27, 2017
e7fc391
Translated README.md, testing.md and testing-with-mocks.md (first app…
Jan 31, 2017
4805497
Readme reading fixes
Jan 31, 2017
b20c710
Fixed 'powerful' translation in README.md and some punctuation in tes…
Jan 31, 2017
dc54f6a
Fixed ndashes in definitions
Jan 31, 2017
9605856
Review fixes
Jan 31, 2017
2159e81
Minor fix for README.md
Feb 1, 2017
170bfe3
Added a paragraph about mocks and replaced "mock" with "mock-object"
Feb 1, 2017
051357c
Punctuation fixes for testing-with-mocks.md
Feb 1, 2017
1301ad0
Added translation to production.md
Feb 1, 2017
8708ac3
Translated linting.md
Feb 1, 2017
998e3e4
Removed archaic expression
Feb 1, 2017
b4b67c5
Merge pull request #3 from Alex-Sokolov/master
gbezyuk Feb 1, 2017
e03123b
- README.md добавлена новая строка (пока не переведено)
Feb 2, 2017
f18eb6c
- advanced.md добавленения для конфига Webpack 2
Feb 2, 2017
716c5b6
- spec.md добавлены пользовательские секции vue-файлов
Feb 2, 2017
2f1698a
- extract-css правка версии вебпака
Feb 2, 2017
848ceea
advanced.md правка версии вебпака + примеров
Feb 2, 2017
ddf9491
- spec.md сокращен раздел о пользовательских блоках
Feb 2, 2017
e0ceb81
- Добавлены пользовательские блоки в оглавление
Feb 2, 2017
0b04dc1
- custom-blocks.md добавлен и переведен новый раздел
Feb 2, 2017
5e77c02
Merge pull request #5 from Alex-Sokolov/master
gbezyuk Feb 2, 2017
ced10b9
Merge branch 'master' into master
gbezyuk Feb 2, 2017
42dc32a
Merge pull request #4 from quilin/master
gbezyuk Feb 2, 2017
df8c642
- custom-block.md обновление к новой версии vue-loader
Alex-Sokolov Feb 3, 2017
fea71e1
- css-modules.md переведён заголовок
Alex-Sokolov Feb 3, 2017
93c0f25
- summary.md приведены ссылок в соответствие с заголовками в файлах
Alex-Sokolov Feb 3, 2017
67473e5
- extract-css.md Webpack 2 перенесен выше
Alex-Sokolov Feb 3, 2017
d1c733e
- options.md Webpack 2 вынесен в начало. Добавлены упоминания preLoad…
Alex-Sokolov Feb 3, 2017
e34ce71
- advanced.md Webpack 2 поставлен раньше. Добавлены упоминания preLo…
Alex-Sokolov Feb 3, 2017
7fbefbe
Merge pull request #6 from Alex-Sokolov/master
gbezyuk Feb 4, 2017
fac3989
Merge pull request #7 from vuejs/master
gbezyuk Feb 7, 2017
b691d67
- extract-css исправления для extract-text-webpack-plugin второй версии
Feb 9, 2017
af5c981
Merge pull request #8 from Alex-Sokolov/master
gbezyuk Feb 9, 2017
1ad7bab
- PostCSS.md добавлена секция про поддержку файлов конфигов
Feb 9, 2017
ae0e19c
Merge pull request #9 from Alex-Sokolov/master
gbezyuk Feb 9, 2017
81aa8b3
Merge pull request #10 from vuejs/master
gbezyuk Feb 9, 2017
d0c7fa3
Merge branch 'master' into master
kazupon Feb 13, 2017
2e54d55
- Доработки по postcss
Feb 14, 2017
8eecb3c
- options.md допереведено
Feb 14, 2017
d1c8eef
Merge pull request #11 from Alex-Sokolov/master
gbezyuk Feb 14, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions docs/LANGS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
* [English](en/)
* [Português](pt/)
* [한국어](kr/)
* [한국어](kr/)
* [Русский](ru/)
* [Português](pt/)
38 changes: 38 additions & 0 deletions docs/ru/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Введение

### Что такое `vue-loader`?

`vue-loader` – это загрузчик для Webpack, который преобразует Vue компоненты, написанные в следующем формате в обычные JavaScript модули:

![screenshot](http://blog.evanyou.me/images/vue-component.png)

`vue-loader` предлагает множество полезных возможностей:

- Поддержка ES2015 по умолчанию;
- Позволяет использовать разные загрузчики Webpack для разных частей Vue компонента, например, SASS для `<style>` и Jade для `<template>`;
- Позволяет использовать пользовательские секции во .vue-файлах, применяя к ним пользовательские цепочки загрузчиков
- Обращается со статическими ресурсами, указанными в `<style>` и `<template>`, как с зависимостями модуля, и обрабатывает их Webpack загрузчиками;
- Может эмулировать scoped CSS для компонентов;
- Поддерживает горячую замену модулей.

В двух словах, сочетание Webpack и `vue-loader` предоставляет вам современный, гибкий и невероятно эффективный подход к написанию клиентских приложений на Vue.js.

### Что такое Webpack?

Если вы уже знакомы с Webpack, можете пропустить дальнейшее объяснение. Для тех же, кому Webpack в новинку, вот краткая вводная:

[Webpack](http://webpack.github.io/) – это сборщик модулей. Он берёт кучу файлов, рассматривая каждый как модуль, разрешает зависимости между ними и собирает их в статические ресурсы, готовые к развёртыванию.

![webpack](http://webpack.github.io/assets/what-is-webpack.png)

В качестве простого примера, представим, что у нас есть набор модулей CommonJS. Они не могут запускаться прямо в браузере, так что нам нужно "собрать" их в единый файл, который можно будет вставить на страницу через тег `<script>`. Webpack может сделать это за нас, следуя инструкциям `require()`.

Но Webpack может делать и больше. С "загрузчиками", мы можем научить Webpack преобразовывать любые типы файлов любым нужным нам образом, прежде чем выдать финальную сборку. Например:

- Скомпилировать ES2015, CoffeeScript или TypeScript модули в обычные ES5 CommonJS модули;
- Пропустить код через статический анализатор, прежде чем приступать к компиляции;
- Скомпилировать Jade шаблоны в обычный HTML и добавить его на страницу в виде строки JavaScript;
- Скомпилировать SASS файлы в обычный CSS, затем конвертировать его в JS скрипт, который будет добавлять полученный CSS как тег `<style>`;
- Обработать файлы изображений, указанные в HTML или CSS, переместить их в нужное место, согласно файлу конфигурации, и переименовать, используя их md5 хеш.

Webpack настолько крут, что когда вы поймете, как он работает, он значительно улучшит ваш процесс разработки клиентской части. Его основным недостатком является многословная и сложная конфигурация; но с этим руководством вы сможете найти решения для большинства задач, возникающих при работе с Webpack в сочетании с Vue.js и `vue-loader`.
21 changes: 21 additions & 0 deletions docs/ru/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- Начало работы
- [Из чего состоит компонент Vue](start/spec.md)
- [Создание проекта](start/setup.md)
- Возможности
- [ES2015](features/es2015.md)
- [Локальный CSS](features/scoped-css.md)
- [CSS модули](features/css-modules.md)
- [PostCSS](features/postcss.md)
- [Горячая замена](features/hot-reload.md)
- Настройка
- [Пре-процессоры](configurations/pre-processors.md)
- [Обработка вложенных URL](configurations/asset-url.md)
- [Продвинутая конфигурация](configurations/advanced.md)
- [Извлечение CSS в файл](configurations/extract-css.md)
- [Пользовательские блоки](configurations/custom-blocks.md)
- Workflow
- [Production Build](workflow/production.md)
- [Линтинг](workflow/linting.md)
- [Тестирование](workflow/testing.md)
- [Тестирование с моками](workflow/testing-with-mocks.md)
- [Перечень настроек](options.md)
82 changes: 82 additions & 0 deletions docs/ru/configurations/advanced.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Продвинутая конфигурация vue-loader

Иногда может потребоваться сделать:

1. Применить пользовательский загрузчик (loader) к языку, вместо обработки его с помощью `vue-loader`;

2. Переопределить встроенные настройки загрузчиков для языков по умолчанию.

3. Добавить предварительную обработку или пост-обработку специфичной секции другим загрузчиком.

Чтобы сделать это укажите опцию `loaders` для `vue-loader`:

> Опции `preLoaders` и `postLoaders` доступны только в версиях >=10.3.0

### Webpack 2.x

``` js
module.exports = {
// другие настройки...
module: {
// module.rules тоже самое, что и module.loaders в 1.x
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
// указанные `loaders` переопределят загрузчики используемые по умолчанию
// Конфигурация ниже будет обрабатывать все теги <script> без атрибута "lang"
// с помощью coffee-loader
loaders: {
js: 'coffee-loader'
},

// `preLoaders` будут применены перед стандартными загрузчиками.
// Вы можете использовать это для предварительной обработки секций
// часто используемая потребность для локализации на этапе сборки.
preLoaders: {
js: '/path/to/custom/loader'
},

// `postLoaders` будут применены после стандартных загрузчиков.
//
// - Для `html`, результат возвращаемый стандартным загрузчиком
// будет скомпилированный в JavaScript код render-функции.
//
// - Для `css`, результат возвращаемый из vue-style-loader
// что не является особенно полезным в большинстве случаев.
// Использование postcss-плагина будет лучшим вариантом.
postLoaders: {
html: 'babel-loader'
}
}
}
]
}
}
```

### Webpack 1.x

``` js
// webpack.config.js
module.exports = {
// другие настройки...
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue'
}
]
},
// настройки vue-loader
vue: {
loaders: {
// такая же конфигурация правил как и выше
}
}
}
```

Примером использования продвинутой конфигурации может быть например [извлечение CSS из компонентов в отдельный файл](./extract-css.md).
23 changes: 23 additions & 0 deletions docs/ru/configurations/asset-url.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Обработка вложенных URL

По умолчанию `vue-loader` автоматически обрабатывает стили и файлы шаблонов с помощью [css-loader](https://github.com/webpack/css-loader) и компилятора шаблонов Vue. В процессе компиляции, все использованные URL, такие как `<img src="...">`, `background: url(...)` и CSS `@import` будут **обрабатаны как зависимости модуля**.

Например, `url(./image.png)` будет преобразовано в `require('./image.png')`, а затем

``` html
<img src="../image.png">
```

будет скомпилировано в:

``` js
createElement('img', { attrs: { src: require('../image.png') }})
```

Так как `.png` это не JavaScript-файл, вам необходимо настроить Webpack использовать [file-loader](https://github.com/webpack/file-loader) или [url-loader](https://github.com/webpack/url-loader) для их обработки. Проект создаваемый с помощью `vue-cli` уже сделает это за вас.

Преимущества подобного подхода:

1. `file-loader` позволяет определить куда нужно скопировать и поместить файл, а также как именовать его с добавлением в имя хэша для лучшего кеширования. Кроме того, это означает что **вы можете просто поместить изображения рядом с вашим `*.vue` файлами и использовать относительные пути, основанные на структуре каталогов, не беспокоясь об адресах при развёртывании**. При правильной конфигурации, Webpack будет автоматически заменять пути к файлам в корректные URL в итоговой сборке.

2. `url-loader` позволяет вставлять файлы как base-64 ссылки если они меньше указанного размера. Это позволит уменьшить количество HTTP-запросов при использовании маленьких файлов. Если же файл больше указанного порога, то он автоматически подключится с помощью `file-loader`.
67 changes: 67 additions & 0 deletions docs/ru/configurations/custom-blocks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Пользовательские блоки

> Доступно в версиях 10.2.0+

Вы можете определять пользовательски блоки внутри `*.vue` файлов. Содержимое пользовательских блоков будет обрабатываться загрузчиками, указанными с объекте `loaders` настроек `vue-loader` и затем подключено модулем к компоненту. Конфигурация аналогична тому, что описано в разделе [продвинутой конфигурации загрузчиков](../configurations/advanced.md), за исключением совпадений по имени тега, вместо атрибута `lang`.

Если подходящий загрузчик будет найден для пользовательского блока, он будет обработан; в противном случае пользовательский блок будет просто проигнорирован.

## Пример

Пример извлечения всех пользовательских блоков `<docs>` в отдельный файл документации:

#### component.vue

``` html
<docs>
## Это пример компонента.
</docs>

<template>
<h2 class="red">{{msg}}</h2>
</template>

<script>
export default {
data () {
return {
msg: 'Hello from Component A!'
}
}
}
</script>

<style>
comp-a h2 {
color: #f00;
}
</style>
```

#### webpack.config.js

``` js
// Webpack 2.x
var ExtractTextPlugin = require("extract-text-webpack-plugin")

module.exports = {
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue',
options: {
loaders: {
// извлечь всё содержимое тегов <docs> как обычный текст
'docs': ExtractTextPlugin.extract('raw-loader'),
}
}
}
],
plugins: [
// вывести всю документацию в отдельный файл
new ExtractTextPlugin('docs.md')
]
}
}
```
70 changes: 70 additions & 0 deletions docs/ru/configurations/extract-css.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Извлечение CSS в отдельный файл

Пример конфигурации для извлечения CSS из всех компонентов Vue в отдельный CSS-файл:

### Webpack 2.x

``` bash
npm install extract-text-webpack-plugin@2.x --save-dev
```

``` js
// webpack.config.js
var ExtractTextPlugin = require("extract-text-webpack-plugin")

module.exports = {
// другие настройки...
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
css: ExtractTextPlugin.extract({
use: 'css-loader',
fallback: 'vue-style-loader' // <- это внутренняя часть vue-loader, поэтому нет необходимости его устанавливать через NPM
})
}
}
},
]
},
plugins: [
new ExtractTextPlugin("style.css")
]
}
```

### Webpack 1.x

``` bash
npm install extract-text-webpack-plugin --save-dev
```

``` js
// webpack.config.js
var ExtractTextPlugin = require("extract-text-webpack-plugin")

module.exports = {
// другие настройки...
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue'
}
]
},
vue: {
loaders: {
css: ExtractTextPlugin.extract("css"),
// вы также можете добавить <style lang="less"> или другие языки
less: ExtractTextPlugin.extract("css!less")
}
},
plugins: [
new ExtractTextPlugin("style.css")
]
}
```
81 changes: 81 additions & 0 deletions docs/ru/configurations/pre-processors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Использование пре-процессоров

В Webpack все пре-процессоры должны быть применены с соответствующим загрузчиком. `vue-loader` позволяет вам использовать другие загрузчики Webpack для обработки секций компонентов Vue. Они будут автоматически вызваны для обработки секций на основе указанного атрибута `lang` у секции файла.

### CSS

Например, пусть в теге `<style>` будет использоваться SASS:

``` bash
npm install sass-loader node-sass --save-dev
```

``` html
<style lang="sass">
/* используем SASS здесь */
</style>
```

В недрах, текстовое содержимое тега `<style>` будет сперва скомпилировано с помощью `sass-loader` перед передачей для дальнейшей обработки.

#### Особенность sass-loader

Вопреки тому, что он называется [*sass*-loader](https://github.com/jtangelder/sass-loader), по умолчанию парсится синтаксис *SCSS*. Если вы на самом деле хотите использовать синтаксис *SASS* с отступами, вам требуется настроить vue-loader для sass-loader соответственно.

```javascript
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
scss: 'vue-style-loader!css-loader!sass-loader' // <style lang="scss">
sass: 'vue-style-loader!css-loader!sass-loader?indentedSyntax' // <style lang="sass">
}
}
}
```

Обратитесь к разделу [продвинутой конфигурации загрузчиков](./advanced.md) для получения дополнительной информации о том, как настраивать vue-loader.

### JavaScript

Весь JavaScript внутри Vue компонентов обрабатывается `babel-loader` по умолчанию. При необходимости это можно изменить:

``` bash
npm install coffee-loader --save-dev
```

``` html
<script lang="coffee">
# Пишем на coffeescript!
</script>
```

### Шаблоны

Обработка шаблонов выполняется несколько иначе, потому что большинство loader'ов шаблонов Webpack, например `pug-loader`, возвращают функцию шаблона вместо скомпилированного в строку HTML. Поэтому вместо использования `pug-loader`, можно просто установить оригинальный `pug`:

``` bash
npm install pug --save-dev
```

``` html
<template lang="pug">
div
h1 Hello world!
</template>
```

> **Внимание:** При использовании `vue-loader@<8.2.0`, вам также необходимо установить `template-html-loader`.

### Непосредственное указание loader'ов

Вы можете указывать [опции для loader'ов Webpack](https://webpack.github.io/docs/loaders.html#introduction) в атрибуте `lang`:

``` html
<style lang="sass?outputStyle=expanded">
/* используем SASS с расширенным выводом */
</style>
```

Обратите внимание, это сделает ваш компонент Vue зависимым от Webpack и несовместимым с Browserify и [vueify](https://github.com/vuejs/vueify). **Если вы планируете распространять ваш компонент Vue, избегайте использования этого синтаксиса.**
Loading