+
+
+
+
+
+```
+
+Использование `vue-loader` предоставляет множество интересных возможностей:
+
+- Позволяет использовать разнообразные загрузчики webpack для разных секций компонента Vue, например Sass для `
+```
+
+Атрибут `module` подскажет Vue Loader о необходимости внедрить CSS модуль в компонент в качестве вычисляемого свойства с именем `$style`. Вы можете использовать его в шаблонах для динамического добавления классов:
+
+``` vue
+
+
+ Текст должен быть красным
+
+
+```
+
+Поскольку это вычисляемое свойство, оно будет работать с объектом/массивом в `:class`:
+
+``` vue
+
+
+
+ Буду ли я красным?
+
+
+ Красный и жирный
+
+
+
+```
+
+Вы также можете получить доступ в JavaScript:
+
+``` vue
+
+```
+
+Обратитесь к [спецификации CSS-модулей](https://github.com/css-modules/css-modules) для получения информации о [глобальных исключениях](https://github.com/css-modules/css-modules#exceptions) и [композиции](https://github.com/css-modules/css-modules#composition).
+
+## Опциональное использование
+
+Если вы хотите использовать CSS модули только в некоторых компонентах Vue, вы можете использовать правило `oneOf` и проверять наличие строки `module` внутри `resourceQuery`:
+
+``` js
+// webpack.config.js -> module.rules
+{
+ test: /\.css$/,
+ oneOf: [
+ // это соответствует `
+
+
+```
diff --git a/docs/ru/guide/custom-blocks.md b/docs/ru/guide/custom-blocks.md
new file mode 100644
index 000000000..d2a5479f5
--- /dev/null
+++ b/docs/ru/guide/custom-blocks.md
@@ -0,0 +1,96 @@
+# Пользовательские блоки
+
+Вы можете определять пользовательские блоки внутри файлов `*.vue`. Загрузчики, применяемые к такому блоку, будут определяться сопоставлением по атрибуту `lang` блока, имени тега блока, и правил в вашей конфигурации webpack.
+
+Если указан атрибут `lang`, пользовательский блок будет обработан как файл с расширением, указанном в `lang`.
+
+Вы также можете использовать `resourceQuery` для определения правила для блока без атрибута `lang`. Например, для сопоставления пользовательского блока ``:
+
+``` js
+{
+ module: {
+ rules: [
+ {
+ resourceQuery: /blockType=foo/,
+ loader: 'loader-to-use'
+ }
+ ]
+ }
+}
+```
+
+Если для пользовательского блока будет найдено правило — он будет им обработан; в противном случае пользовательский блок будет тихо проигнорирован.
+
+Кроме того, если пользовательский блок экспортирует функцию в качестве конечного результата после обработки всеми соответствующими загрузчиками, то эта функция будет вызываться с компонентом файла `*.vue` в качестве параметра.
+
+## Пример
+
+Небольшой пример внедрения пользовательского блока `` в компонент таким образом, что он будет доступен во время выполнения.
+
+Для внедрения содержимого пользовательского блока мы напишем собственный загрузчик:
+
+``` js
+module.exports = function (source, map) {
+ this.callback(
+ null,
+ `export default function (Component) {
+ Component.options.__docs = ${
+ JSON.stringify(source)
+ }
+ }`,
+ map
+ )
+}
+```
+
+Настроим webpack использовать наш загрузчик для пользовательских блоков ``.
+
+``` js
+// wepback.config.js
+module.exports = {
+ module: {
+ rules: [
+ {
+ resourceQuery: /blockType=docs/,
+ loader: require.resolve('./docs-loader.js')
+ }
+ ]
+ }
+}
+```
+
+Теперь мы можем получить доступ к содержимому блока `` импортированного компонента на этапе выполнения.
+
+``` vue
+
+
+
Hello
+
+
+
+This is the documentation for component B.
+
+```
+
+``` vue
+
+
+
+
+
{{ docs }}
+
+
+
+
+```
diff --git a/docs/ru/guide/extract-css.md b/docs/ru/guide/extract-css.md
new file mode 100644
index 000000000..94f61d36d
--- /dev/null
+++ b/docs/ru/guide/extract-css.md
@@ -0,0 +1,75 @@
+# Извлечение CSS в отдельный файл
+
+::: tip СОВЕТ
+Применяйте извлечение CSS в отдельный файл только в production, чтобы использовать горячую перезагрузку CSS на этапе разработки.
+:::
+
+## webpack 4
+
+``` bash
+npm install -D mini-css-extract-plugin
+```
+
+``` js
+// webpack.config.js
+var MiniCssExtractPlugin = require('mini-css-extract-plugin')
+
+module.exports = {
+ // другие настройки...
+ module: {
+ rules: [
+ // ... другие правила опущены
+ {
+ test: /\.css$/,
+ use: [
+ process.env.NODE_ENV !== 'production'
+ ? 'vue-style-loader'
+ : MiniCssExtractPlugin.loader,
+ 'css-loader'
+ ]
+ }
+ ]
+ },
+ plugins: [
+ // ... плагин Vue Loader опущен
+ new MiniCssExtractPlugin({
+ filename: 'style.css'
+ })
+ ]
+}
+```
+
+Также смотрите [документацию mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin).
+
+## webpack 3
+
+``` bash
+npm install -D extract-text-webpack-plugin
+```
+
+``` js
+// webpack.config.js
+var ExtractTextPlugin = require("extract-text-webpack-plugin")
+
+module.exports = {
+ // другие настройки...
+ module: {
+ rules: [
+ // ... другие правила опущены
+ {
+ test: /\.css$/,
+ loader: ExtractTextPlugin.extract({
+ use: 'css-loader',
+ fallback: 'vue-style-loader'
+ })
+ }
+ ]
+ },
+ plugins: [
+ // ... плагин Vue Loader опущен
+ new ExtractTextPlugin("style.css")
+ ]
+}
+```
+
+Также смотрите [документацию extract-text-webpack-plugin](https://github.com/webpack-contrib/extract-text-webpack-plugin).
diff --git a/docs/ru/guide/functional.md b/docs/ru/guide/functional.md
new file mode 100644
index 000000000..421979506
--- /dev/null
+++ b/docs/ru/guide/functional.md
@@ -0,0 +1,21 @@
+# Функциональные компоненты
+
+Функциональные компоненты, объявленные как однофайловые компоненты в файле `*.vue`, также получают правильную поддержку компиляции шаблона, локальный CSS и поддержку горячей перезагрузки.
+
+Чтобы обозначить шаблон, который должен быть скомпилирован как функциональный компонент, добавьте атрибут `functional` в тег шаблона. Это также позволяет опустить опцию `functional` в теге `
+
+
+
+
+ Это может быть, например, документация для компонента
+
+```
+
+`vue-loader` парсит файл, извлекает каждую из секций, обрабатывает их при необходимости другими загрузчиками webpack, и в итоге собирает всё обратно в ES-модуль где экспорт по умолчанию будет объектом настроек компонента Vue.js.
+
+`vue-loader` предоставляет возможность использовать нестандартные языки, например пре-процессоры CSS и языки шаблонов компилируемые в HTML, указывая атрибут `lang` для секции файла. Например, вы можете использовать SASS для стилей вашего компонента:
+
+``` vue
+
+```
+
+Подробнее на странице [использования пре-процессоров](./guide/pre-processors.md).
+
+## Секции файла
+
+### Шаблон (template)
+
+- Каждый `*.vue` файл может содержать максимум один блок ``.
+
+- Содержимое извлекается, передаётся в `vue-template-compiler`, где предварительно будет скомпилировано в JavaScript render-функции, и наконец внедряется в описываемый компонент в секции `
+```
+
+Обратите внимание, что импорты через `src` следуют тем же правилам webpack по разрешению путей к модулям, что означает:
+
+- Относительные пути должны начинаться с `./`
+- Вы можете импортировать ресурсы из npm-зависимостей:
+
+``` vue
+
+
+```
+
+``` html
+
+```
## Динамически генерируемый контент