Skip to content
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

Добавлен перевод статьи Nuxt 3.13 #78

Merged
merged 7 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
2 changes: 1 addition & 1 deletion content/7.blog/26.nuxt-scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors:
link: https://github.com/harlan-zw
twitter: harlan_zw
date: 2024-08-20
category: Release
category: Релиз
---

The Nuxt team, in collaboration with the [Chrome Aurora](https://developer.chrome.com/aurora) team at Google, is excited to announce the public beta release of [Nuxt Scripts](https://scripts.nuxt.com).
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved
Expand Down
80 changes: 40 additions & 40 deletions content/7.blog/27.v3-13.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
---
title: Nuxt 3.13
description: Nuxt 3.13 is out - porting back some of the new features we're building for Nuxt 4!
description: Вышел Nuxt 3.13 - перенос некоторых новых функций, которые мы разрабатываем для Nuxt 4!
navigation: false
image: /assets/blog/v3.13.png
authors:
- name: Daniel Roe
- name: Дэниел Ро
avatarUrl: https://github.com/danielroe.png
link: https://twitter.com/danielcroe
twitter: danielcroe
date: 2024-08-22T10:00:00.000Z
category: Release
category: Релиз
---

## 🏘️ Route Groups
## 🏘️ Группы маршрутов

We now support naming directories with parentheses/brackets to organise your routes without affecting the path.
Теперь мы поддерживаем именование каталогов с помощью круглых скобок для упорядочивания маршрутов без изменения пути.
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved

For example:
Для примера:

```bash [Directory structure]
```bash [Структура директорий]
-| pages/
---| index.vue
---| (marketing)/
-----| about.vue
-----| contact.vue
```

This will produce `/`, `/about` and `/contact` pages in your app. The `marketing` group is ignored for purposes of your URL structure.
В результате в вашем приложении появятся страницы `/`, `/about` и `/contact`. Группа `marketing` игнорируется для целей структуры URL.

Read more in [the original PR](https://github.com/nuxt/nuxt/pull/28276).
Подробнее читайте в [оригинальном PR](https://github.com/nuxt/nuxt/pull/28276).

## 🏝️ Islands and Head Metadata
## 🏝️ Острова и метаданные Head

It's now possible for server component islands to manipulate the head, such as by adding SEO metadata when rendering.
Теперь острова серверных компонентов могут манипулировать head, например, добавлять SEO-метаданные при рендеринге.

Read more in [#27987](https://github.com/nuxt/nuxt/pull/27987).
Подробнее в [#27987](https://github.com/nuxt/nuxt/pull/27987).

## 🪝 Custom Prefetch Triggers
## 🪝 Пользовательские триггеры предварительной выборки

We now support custom prefetch triggers for `NuxtLink` ([#27846](https://github.com/nuxt/nuxt/pull/27846)).
Теперь мы поддерживаем пользовательские триггеры предварительной выборки для `NuxtLink` ([#27846](https://github.com/nuxt/nuxt/pull/27846)).

For example:
Например:

```vue [pages/index.vue]
<template>
<div>
<NuxtLink prefetch-on="interaction">
This will prefetch when hovered or when it gains focus
Он будет получать предварительную выборку при наведении курсора или при получении фокуса
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved
</NuxtLink>
<!-- note that you probably don't want both enabled! -->
<!-- Обратите внимание, что вам, вероятно, не стоит включать оба варианта! -->
<NuxtLink :prefetch-on="{ visibility: true, interaction: true }">
This will prefetch when hovered/focus - or when it becomes visible
Он будет получать префетч при наведении/фокусе - или когда он становится видимым
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved
</NuxtLink>
</div>
</template>
```

It's also possible to enable/disable these globally for your app and override them per link.
Также можно включить/выключить эти параметры глобально для вашего приложения и переопределить их для каждой ссылки.

For example:
Например:

```ts [nuxt.config.ts]
export default defineNuxtConfig({
Expand All @@ -73,13 +73,13 @@ export default defineNuxtConfig({
})
```

## 🗺️ Better Server Source Maps
## 🗺️ Улучшенные исходные карты сервера

When running with `node --enable-source-maps`, you may have noticed that the source maps for the Vue files in your server build pointed to the Vite build output (something like `.nuxt/dist/server/_nuxt/index-O15BBwZ3.js`).
При запуске с `node --enable-source-maps` вы могли заметить, что исходные карты для файлов Vue в вашем серверном билде указывают на выходные данные билда Vite (что-то вроде `.nuxt/dist/server/_nuxt/index-O15BBwZ3.js`).

Now, even after your Nitro build, your server source maps will reference your original source files ([#28521](https://github.com/nuxt/nuxt/pull/28521)).
Теперь, даже после вашего билда Nitro, исходные карты вашего сервера будут ссылаться на ваши оригинальные исходные файлы ([#28521](https://github.com/nuxt/nuxt/pull/28521)).

Note that one of the easiest ways of improving your build performance is to turn off source maps if you aren't using them, which you can do easily in your `nuxt.config`:
Обратите внимание, что один из самых простых способов повысить производительность сборки — отключить карты исходников, если вы их не используете, что можно легко сделать в файле `nuxt.config`:

```ts [nuxt.config.ts]
export default defineNuxtConfig({
Expand All @@ -90,23 +90,23 @@ export default defineNuxtConfig({
})
```

## 🎁 New Features for Module Authors
## 🎁 Новые возможности для авторов модулей

In the run-up to Nuxt v4, we're working on adding some key functionality for module authors, including a new `isNuxtMajorVersion` utility where required ([#27579](https://github.com/nuxt/nuxt/pull/27579)) and better inferred typing for merged module options using the new `defineNuxtModule().with()` method ([#27520](https://github.com/nuxt/nuxt/pull/27520)).
В преддверии Nuxt v4 мы работаем над добавлением некоторых ключевых функциональностей для авторов модулей, включая новую утилиту `isNuxtMajorVersion`, где это необходимо ([#27579](https://github.com/nuxt/nuxt/pull/27579)) , и улучшенные выводимые типы для объединенных опций модуля с использованием нового метода `defineNuxtModule().with()` ([#27520](https://github.com/nuxt/nuxt/pull/27520)).

## ✨ Improved Dev Warnings
## ✨ Улучшенные предупреждения в режиме разработки

We no longer warn when using data fetching composables in middleware ([#28604](https://github.com/nuxt/nuxt/pull/28604)) and we warn when user components' names begin with Lazy ([#27838](https://github.com/nuxt/nuxt/pull/27838)).
Мы больше не предупреждаем при использовании композиблов для получения данных в middleware ([#28604](https://github.com/nuxt/nuxt/pull/28604)) и предупреждаем, когда имена пользовательских компонентов начинаются с Lazy ([#27838](https://github.com/nuxt/nuxt/pull/27838)).
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved

## 🚨 Vue TypeScript Changes
## 🚨 Изменения в TypeScript для Vue

For a while, in the Vue ecosystem, we've been augmenting `@vue/runtime-core` to add custom properties and more to `vue`. However, this inadvertently breaks the types for projects that augment `vue` - which is now the officially recommended and documented way to augment these interfaces (for example, [ComponentCustomProperties](https://vuejs.org/api/utility-types.html#componentcustomproperties), [GlobalComponents](https://vuejs.org/guide/extras/web-components.html#web-components-and-typescript) and [so on](https://vuejs.org/guide/typescript/options-api.html#augmenting-global-properties)).
В течение некоторого времени в экосистеме Vue мы расширяли `@vue/runtime-core`, чтобы добавлять пользовательские свойства и многое другое к `vue`. Однако это непреднамеренно нарушает типы для проектов, которые расширяют `vue` - что теперь является официально рекомендуемым и документированным способом расширения этих интерфейсов (например, [ComponentCustomProperties](https://vuejs.org/api/utility-types.html#componentcustomproperties), [GlobalComponents](https://vuejs.org/guide/extras/web-components.html#web-components-and-typescript) и [so on](https://vuejs.org/guide/typescript/options-api.html#augmenting-global-properties)).
Ibochkarev marked this conversation as resolved.
Show resolved Hide resolved

This means _all_ libraries must update their code (or it will break the types of libraries that augment `vue` instead).
Это означает, что _все_ библиотеки должны обновить свой код (или это нарушит типы библиотек, которые расширяют `vue`).

We've updated our types in Nuxt along these lines but you may experience issues with the latest `vue-router` when used with libraries which haven't yet done so.
Мы обновили наши типы в Nuxt в соответствии с этими изменениями, но вы можете столкнуться с проблемами с последней версией `vue-router`, если она используется с библиотеками, которые еще не сделали этого.

Please create an issue with a reproduction - I'll happily help create a PR to resolve in the upstream library in question. Or you may be able to work around the issue by creating a `declarations.d.ts` in the root of your project with the following code ([credit](https://github.com/nuxt/nuxt/pull/28542#issuecomment-2293282891) to [@BobbieGoede](https://github.com/BobbieGoede)):
Пожалуйста, создайте issue с воспроизведением — с радостью помогу создать PR для решения проблемы в соответствующей библиотеке. Или вы можете обойти проблему, создав `declarations.d.ts` в корне вашего проекта со следующим кодом ([credit](https://github.com/nuxt/nuxt/pull/28542#issuecomment-2293282891) от [@BobbieGoede](https://github.com/BobbieGoede)):

```ts [declarations.d.ts]
import type {
Expand All @@ -120,17 +120,17 @@ declare module '@vue/runtime-core' {
}
```

## ✅ Upgrading
## ✅ Обновление

As usual, our recommendation for upgrading is to run:
Как обычно, наша рекомендация по обновлению — запустить:

```sh
npx nuxi@latest upgrade --force
```

This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
Это также обновит ваш lockfile и обеспечит получение обновлений от других зависимостей, от которых зависит Nuxt, особенно в экосистеме unjs.

## Full Release Notes
## Полные примечания к выпуску

::read-more
---
Expand All @@ -139,9 +139,9 @@ icon: i-simple-icons-github
target: _blank
to: https://github.com/nuxt/nuxt/releases/tag/v3.13.0
---
Read the full release notes of Nuxt `v3.13.0`.
Прочитайте полные примечания к выпуску Nuxt `v3.13.0`.
::

A huge thank you to everyone who's been a part of this release - you are the ones who make Nuxt possible. ❤️
Огромное спасибо всем, кто принимал участие в этом релизе — вы те, кто делает Nuxt возможным. ❤️

Don't hesitate to let us know if you have any feedback or issues! 🙏
Не стесняйтесь сообщать нам о любых отзывах или проблемах! 🙏
Loading