Kaynağa Gözat

docs(ru): translation update (#1747)

Co-authored-by: Alex Sokolov <4497128+Alex-Sokolov@users.noreply.github.com>
Alexander Sokolov 5 yıl önce
ebeveyn
işleme
d13f3fc745
2 değiştirilmiş dosya ile 61 ekleme ve 1 silme
  1. 14 1
      docs/ru/api/README.md
  2. 47 0
      docs/ru/guide/hot-reload.md

+ 14 - 1
docs/ru/api/README.md

@@ -233,7 +233,20 @@ store.subscribeAction({
 })
 ```
 
-Чаще всего используется в плагинах. [Подробнее](../guide/plugins.md)
+> Добавлено в версии 3.4.0
+
+С версии 3.4.0 в `subscribeAction` также можно указывать обработчик `error` для перехвата ошибки, выброшенной при выполнении действия. В качестве третьего аргумента функция получает объект `error`.
+
+``` js
+store.subscribeAction({
+  error: (action, state, error) => {
+    console.log(`error action ${action.type}`)
+    console.error(error)
+  }
+})
+```
+
+Метод `subscribeAction` чаще всего используется в плагинах. [Подробнее](../guide/plugins.md)
 
 ### registerModule
 

+ 47 - 0
docs/ru/guide/hot-reload.md

@@ -42,3 +42,50 @@ if (module.hot) {
 ```
 
 [Пример counter-hot](https://github.com/vuejs/vuex/tree/dev/examples/counter-hot) позволяет посмотреть на горячую перезагрузку в реальной жизни.
+
+## Горячая перезагрузка динамических модулей
+
+Если в приложении используются только модули, то можно использовать `require.context` для загрузки и горячей перезагрузки всех модулей динамически.
+
+```js
+// store.js
+import Vue from 'vue'
+import Vuex from 'vuex'
+
+// Загружаем все модули
+function loadModules() {
+  const context = require.context("./modules", false, /([a-z_]+)\.js$/i)
+
+  const modules = context
+    .keys()
+    .map((key) => ({ key, name: key.match(/([a-z_]+)\.js$/i)[1] }))
+    .reduce(
+      (modules, { key, name }) => ({
+        ...modules,
+        [name]: context(key).default
+      }),
+      {}
+    )
+
+  return { context, modules }
+}
+
+const { context, modules } = loadModules()
+
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+  modules
+})
+
+if (module.hot) {
+  // Горячая перезагрузка при любых изменениях модуля
+  module.hot.accept(context.id, () => {
+    const { modules } = loadModules()
+
+    store.hotUpdate({
+      modules
+    })
+  })
+}
+```