diff --git a/docs/7.migration/20.module-authors.md b/docs/7.migration/20.module-authors.md index ff42347c12c3..b0dae199bcfc 100644 --- a/docs/7.migration/20.module-authors.md +++ b/docs/7.migration/20.module-authors.md @@ -1,47 +1,47 @@ --- -title: Modules -description: 'Learn how to migrate from Nuxt 2 to Nuxt 3 modules.' +title: Модули +description: 'Изучите как мигрировать модули с Nuxt 2 на Nuxt 3' --- -## Module Compatibility +## Совместимость модулей -Nuxt 3 has a basic backward compatibility layer for Nuxt 2 modules using `@nuxt/kit` auto wrappers. But there are usually steps to follow to make modules compatible with Nuxt 3 and sometimes, using Nuxt Bridge is required for cross-version compatibility. +Nuxt 3 имеет базовый слой обратной совместимости для модулей Nuxt 2 с использованием автоматических оберток `@nuxt/kit`. Однако, обычно требуются шаги для обеспечения совместимости модулей с Nuxt 3, и иногда - для кросс-версионной совместимости - требуется использовать Nuxt Bridge. -We have prepared a [Dedicated Guide](/docs/guide/going-further/modules) for authoring Nuxt 3 ready modules using `@nuxt/kit`. Currently best migration path is to follow it and rewrite your modules. Rest of this guide includes preparation steps if you prefer to avoid a full rewrite yet making modules compatible with Nuxt 3. +Мы подготовили [Отдельное руководство](/docs/guide/going-further/modules) по созданию готовых к Nuxt 3 модулей с использованием `@nuxt/kit`. В настоящее время лучшим путем миграции является следование этому руководству, чтобы переписать ваши модули. Оставшаяся часть этого руководства включает в себя шаги подготовки, если вы предпочитаете избежать полной переписи, но при этом сделать модули совместимыми с Nuxt 3. ::tip{icon="i-ph-puzzle-piece-duotone" to="/modules"} -Explore Nuxt 3 compatible modules. +Изучите модули, совместимые с Nuxt 3. :: -### Plugin Compatibility +### Совместимость плагинов -Nuxt 3 plugins are **not** fully backward compatible with Nuxt 2. +Плагины Nuxt 3 имеют **не** полностью обратную совместимость с Nuxt 2. :read-more{to="/docs/guide/directory-structure/plugins"} -### Vue Compatibility +### Совместимость с Vue -Plugins or components using the Composition API need exclusive Vue 2 or Vue 3 support. +Плагины или компоненты, использующие Composition API, требуют исключительной поддержки Vue 2 или Vue 3. -By using [vue-demi](https://github.com/vueuse/vue-demi) they should be compatible with both Nuxt 2 and 3. +Используя [vue-demi](https://github.com/vueuse/vue-demi), они должны быть совместимы с Nuxt 2 и 3. -## Module Migration +## Миграция модулей -When Nuxt 3 users add your module, you will not have access to the module container (`this.*`) so you will need to use utilities from `@nuxt/kit` to access the container functionality. +Когда пользователи Nuxt 3 добавляют ваш модуль, у вас не будет доступа к контейнеру модуля (`this.*`), поэтому вам необходимо использовать утилиты из `@nuxt/kit`, чтобы получить доступ к функционалу контейнера. -### Test with `@nuxt/bridge` +### Тестирование с `@nuxt/bridge` -Migrating to `@nuxt/bridge` is the first and most important step for supporting Nuxt 3. +Миграция к `@nuxt/bridge` является первым и самым важным шагом для поддержки Nuxt 3. -If you have a fixture or example in your module, add `@nuxt/bridge` package to its config (see [example](/docs/bridge/overview#update-nuxtconfig)) +Если у вас есть фикстура или пример в вашем модуле, добавьте пакет `@nuxt/bridge` в его конфигурацию (см. [пример](/docs/bridge/overview#update-nuxtconfig)) -### Migrate from CommonJS to ESM +### Миграция из CommonJS в ESM -Nuxt 3 natively supports TypeScript and ECMAScript Modules. Please check [Native ES Modules](/docs/guide/concepts/esm) for more info and upgrading. +Nuxt 3 нативно поддерживает TypeScript и модули ECMAScript. Пожалуйста, проверьте [Native ES Modules](/docs/guide/concepts/esm) для получения дополнительной информации и обновления. -### Ensure Plugins Default Export +### Обеспечение экспорта плагинов по умолчанию -If you inject a Nuxt plugin that does not have `export default` (such as global Vue plugins), ensure you add `export default () => { }` to the end of it. +Если вы внедряете плагин Nuxt, который не имеет `export default` (например, глобальные плагины Vue), убедитесь, что вы добавили `export default () => { }` в конец файла. ::code-group @@ -65,30 +65,30 @@ export default () => { } :: -### Avoid Runtime Modules +### Избегайте Runtime модулей -With Nuxt 3, Nuxt is now a build-time-only dependency, which means that modules shouldn't attempt to hook into the Nuxt runtime. +В Nuxt 3 сам Nuxt теперь является зависимостью только во время сборки, что означает, что модули не должны пытаться подключиться к среде выполнения Nuxt. -Your module should work even if it's only added to [`buildModules`](/docs/api/nuxt-config#runtimeconfig) (instead of `modules`). For example: +Ваш модуль должен работать даже в том случае, если он добавлен только в [`buildModules`](/docs/api/nuxt-config#runtimeconfig) (а не в `modules`). Например: -- Avoid updating `process.env` within a Nuxt module and reading by a Nuxt plugin; use [`runtimeConfig`](/docs/api/nuxt-config#runtimeconfig) instead. -- (*) Avoid depending on runtime hooks like `vue-renderer:*` for production -- (*) Avoid adding `serverMiddleware` by importing them inside the module. Instead, add them by referencing a file path so that they are independent of the module's context +- Избегайте обновления `process.env` внутри модуля Nuxt и чтения его с помощью плагина Nuxt. Вместо этого используйте [`runtimeConfig`](/docs/api/nuxt-config#runtimeconfig). +- (*) Избегайте зависимости от хуков runtime, таких как `vue-renderer:*` для продакшена +- (*) Избегайте добавления `serverMiddleware` путем импорта их внутри модуля. Вместо этого добавляйте их с помощью ссылки на путь к файлу, чтобы они были независимы от контекста модуля. -(*) Unless it is for `nuxt dev` purpose only and guarded with `if (nuxt.options.dev) { }`. +(*) Пока это не предназначено только для целей `nuxt dev` и не защищено с помощью `if (nuxt.options.dev) { }`. ::tip -Continue reading about Nuxt 3 modules in the [Modules Author Guide](/docs/guide/going-further/modules). +Продолжайте читать о модулях Nuxt 3 в [Руководстве для авторов модулей](/docs/guide/going-further/modules). :: -### Use TypeScript (Optional) +### Используйте TypeScript (опционально) -While it is not essential, most of the Nuxt ecosystem is shifting to use TypeScript, so it is highly recommended to consider migration. +Хотя это и не является обязательным, большая часть экосистемы Nuxt переходит на использование TypeScript, поэтому рекомендуется рассмотреть возможность миграции. ::tip -You can start migration by renaming `.js` files, to `.ts`. TypeScript is designed to be progressive! +Вы можете начать миграцию, переименовав файлы `.js` в `.ts`. TypeScript разработан для постепенного внедрения! :: ::tip -You can use TypeScript syntax for Nuxt 2 and 3 modules and plugins without any extra dependencies. +Вы можете использовать синтаксис TypeScript для модулей и плагинов Nuxt 2 и 3 без каких-либо дополнительных зависимостей. ::