diff --git a/components/AppFooter.vue b/components/AppFooter.vue index 3f92fd584..633d8f14d 100644 --- a/components/AppFooter.vue +++ b/components/AppFooter.vue @@ -19,16 +19,16 @@ const { footerLinks } = useNavigation() diff --git a/components/AppHeader.vue b/components/AppHeader.vue index a9568d725..e4fac369f 100644 --- a/components/AppHeader.vue +++ b/components/AppHeader.vue @@ -98,7 +98,7 @@ defineProps<{ Всемирная Паутина.' + to: 'https://go.nuxt.com/x' + - title: 'Нам доверяет
World Wide Web.' class: 'dark:bg-gradient-to-b from-gray-900 to-gray-950' slot: testimonials align: center diff --git a/content/3.deploy/firebase.md b/content/3.deploy/firebase.md index 64ad912c7..af9161156 100644 --- a/content/3.deploy/firebase.md +++ b/content/3.deploy/firebase.md @@ -146,3 +146,11 @@ firebase deploy --only functions:server,hosting ::read-more{to="https://nitro.unjs.io/deploy/providers/firebase" target="_blank"} Перейдите по ссылке **Документация Nitro**, чтобы узнать больше о предустановке развертывания Firebase. :: + +## Using Cookies in production + +When using Firebase Hosting together with Cloud Functions or Cloud Run, cookies are generally stripped from incoming requests to allow for efficient CDN cache behavior. Only the specially-named `__session` cookie is permitted to pass through to your app. + +::read-more{to="https://firebase.google.com/docs/hosting/manage-cache#using_cookies" target="\_blank"} +For more information, refer to the **Firebase documentation**. +:: diff --git a/content/3.deploy/nuxthub.md b/content/3.deploy/nuxthub.md index 3fc1ea353..9f344fd89 100644 --- a/content/3.deploy/nuxthub.md +++ b/content/3.deploy/nuxthub.md @@ -6,7 +6,7 @@ logoSrc: '/assets/integrations/nuxthub.svg' category: Хостинг featured: true nitroPreset: 'cloudflare-pages' -website: 'https://hub.nuxt.com' +website: 'https://hub.nuxt.com/?utm_source=nuxt-website&utm_medium=deploy-page' --- ::tip @@ -16,12 +16,12 @@ website: 'https://hub.nuxt.com' :: ::note -NuxtHub - это платформа развертывания и администрирования для Nuxt на базе Cloudflare. :br Основное отличие от [Cloudflare](/deploy/cloudflare) заключается в том, что NuxtHub обеспечивает развертывание с нулевой конфигурацией (инициализация, развертывание и администрирование). :br Он также предоставляет мощный интерфейс администратора для управления вашими проектами Nuxt (база данных, blob, KV, ...), а также [удалённое хранение](https://hub.nuxt.com/docs/getting-started/remote-storage). +NuxtHub is a deployment and administration platform for Nuxt, powered by Cloudflare. :br The main difference with the [Cloudflare](/deploy/cloudflare) deployment is that NuxtHub provides a zero-configuration deployment experience (provisioning, deployment, and administration). :br It also provides a powerful admin interface to manage your Nuxt projects (database, blob, KV, ...) as well as [remote storage](https://hub.nuxt.com/docs/getting-started/remote-storage?utm_source=nuxt-website&utm_medium=deploy-page). :: ## Быстрый старт -- Войдите на сайт [admin.hub.nuxt.com](https://admin.hub.nuxt.com) +- Войдите на сайт [admin.hub.nuxt.com](https://admin.hub.nuxt.com/?utm_source=nuxt-website&utm_medium=deploy-page) - Подключите свой аккаунт Cloudflare, нажав на `Создать новый токен с необходимыми правами` и следуйте инструкциям - Теперь вы готовы развернуть ваш проект Nuxt на вашем аккаунте Cloudflare! @@ -49,7 +49,7 @@ npx nuxthub deploy Далее: -1. Убедитесь, что вы авторизованы на [admin.hub.nuxt.com](admin.hub.nuxt.com) +1. Убедитесь, что вы авторизованы на [admin.hub.nuxt.com](https://admin.hub.nuxt.com/?utm_source=nuxt-website&utm_medium=deploy-page) 2. Свяжите ваш локальный проект с проектом NuxtHub или помогите создать новый 3. Соберите ваш проект Nuxt с правильным пресетом 4. Разверните его на вашем аккаунте Cloudflare со всеми необходимыми ресурсами diff --git a/content/7.blog/25.v3-12.md b/content/7.blog/25.v3-12.md new file mode 100644 index 000000000..cb1331dd6 --- /dev/null +++ b/content/7.blog/25.v3-12.md @@ -0,0 +1,137 @@ +--- +title: Nuxt 3.12 +description: Nuxt 3.12 is out - full of improvements and preparing the way for Nuxt 4! +navigation: false +image: /assets/blog/v3.12.png +authors: + - name: Daniel Roe + avatarUrl: https://github.com/danielroe.png + link: https://twitter.com/danielcroe + twitter: danielcroe +date: 2024-06-10T10:00:00.000Z +category: Release +--- + +We're on the road to the release of Nuxt 4, but we've not held back in Nuxt v3.12. + +## 🚀 Testing Nuxt 4 changes + +Nuxt 4 is on the horizon, and it's now possible to test out the behaviour changes that will be coming in the next major release ([#26925](https://github.com/nuxt/nuxt/pull/26925)) by setting an option in your `nuxt.config` file: + +```ts +export default defineNuxtConfig({ + future: { + compatibilityVersion: 4, + }, +}) +``` + +As we've been merging PRs for Nuxt 4, we've been enabling them behind this flag. As much as possible we're aiming for backwards compatibility - our test matrix is running the same fixtures in both v3 and v4 compatibility mode. + +There is a lot to say here, with 10+ different PRs and behaviour changes documented and testable, but for full details, including migration steps, see [the v4 upgrade documentation](/docs/getting-started/upgrade#testing-nuxt-4). + +We'd be very grateful for early testing of what's coming in Nuxt 4! 🙏 + +## 📜 Nuxt Scripts auto-install + +We've been gradually working to release [Nuxt Scripts](https://scripts.nuxt.com/). It's currently in public preview, but we're near a public release, so we've added some stubs for composables that (when used) will prompt installing the `@nuxt/scripts` module. + +👉 Watch out for the launch - and an article explaining more! + +## 🌈 Layer auto-registration and bugfixes + +Just like `~/modules`, any layers within your project in the `~/layers` directory will now be automatically registered as layers in your project ([#27221](https://github.com/nuxt/nuxt/pull/27221)). + +We also now correctly load layer dependencies, which should resolve a range of issues with monorepos and git installations ([#27338](https://github.com/nuxt/nuxt/pull/27338)). + +## 🌐 Built-in accessibility improvements + +We now have a built-in [``](/docs/api/components/nuxt-route-announcer) component and corresponding [`useRouteAnnouncer`](/docs/api/composables/use-route-announcer) composable, which will be added by default to new Nuxt templates going forward. + +For full details, see [the original PR (#25741)](https://github.com/nuxt/nuxt/pull/25741) and [documentation](/docs/api/components/nuxt-route-announcer). + +We're continuing to work on `nuxt/a11y` - expect to hear more on that in future! + +## 🔥 Performance improvements + +We've landed some performance improvements as well, many of which are behind the `compatibilityVersion: 4` flag, such as a move away from deeply reactive asyncData payloads. + +Significant improvements include deduplicating modules ([#27475](https://github.com/nuxt/nuxt/pull/27475)) - which will apply mostly to layer users who specify modules in their layers. In one project, we saw 30s+ improvement in starting Nuxt. + +We've also improved Vite dev server start up time by excluding common ESM dependencies from pre-bundling, and would suggest module authors consider doing the same ([#27372](https://github.com/nuxt/nuxt/pull/27372)). + +We improved chunk determinism, so sequential builds should be less likely to have _completely_ different chunk hashes ([#27258](https://github.com/nuxt/nuxt/pull/27258)). + +And we tree shake more client-only composables from your server builds ([#27044](https://github.com/nuxt/nuxt/pull/27044)), and have reduced the size of server component payloads ([#26863](https://github.com/nuxt/nuxt/pull/26863)). + +## 👨‍👩‍👧‍👦 Multi-app support + +We've landed a couple of changes that take us toward a place of supporting multi-app natively in Nuxt, including a `multiApp` experimental flag ([#27291](https://github.com/nuxt/nuxt/pull/27291)) and the ability to have multiple Nuxt app instances running in parallel at runtime ([#27068](https://github.com/nuxt/nuxt/pull/27068)). + +While it's not yet ready, please do follow along on [the tracker issue](https://github.com/nuxt/nuxt/issues/21635), and feel free to pitch in if this is interesting to you. + +## ⛑️ DX wins + +We now serialise more things in your dev server logs, including VNodes ([#27309](https://github.com/nuxt/nuxt/pull/27309)) and [URLs](https://github.com/nuxt/nuxt/commit/a549b46e9). We also addressed a bug that could lead to a frozen dev server. + +When accessing private runtime config in the browser, we now let you know with a more informative error message ([#26441](https://github.com/nuxt/nuxt/pull/26441)). + +## 🪨 Stabilising features + +We've removed some experimental options that have been stabilised and which we feel no longer need to be configurable: + +- `experimental.treeshakeClientOnly` (enabled by default since v3.0.0) +- `experimental.configSchema` (enabled by default since v3.3.0) +- `experimental.polyfillVueUseHead` (disabled since v3.4.0) - implementable in user-land with [plugin](https://github.com/nuxt/nuxt/blob/f209158352b09d1986aa320e29ff36353b91c358/packages/nuxt/src/head/runtime/plugins/vueuse-head-polyfill.ts#L10-L11) +- `experimental.respectNoSSRHeader` (disabled since v3.4.0) - implementable in user-land with [server middleware](https://github.com/nuxt/nuxt/blob/c660b39447f0d5b8790c0826092638d321cd6821/packages/nuxt/src/core/runtime/nitro/no-ssr.ts#L8-L9) + +We've also enabled `scanPageMeta` by default ([#27134](https://github.com/nuxt/nuxt/pull/27134)). This pulls out any page metadata in your `definePageMeta` macro, and makes it available to modules (like `@nuxtjs/i18n`) so they can augment it. + +This unlocks much better module/typed routing integration, but has a potential performance cost - so please file an issue if you experience any problems. + +## 💪 Type improvements + +We now have support for typed `#fallback` slots in server components ([#27097](https://github.com/nuxt/nuxt/pull/27097)). + +We've also improved some defaults in your generated `tsconfig.json`, including setting `module: 'preserve'` if you have a locally installed TypeScript v5.4 version ([see docs](https://www.typescriptlang.org/tsconfig/#preserve)) - see [#26667](https://github.com/nuxt/nuxt/26667), [#27485](https://github.com/nuxt/nuxt/27485). + +## 📦 Module author/power user improvements + +We have shipped a range of type improvements for module authors, including: + +- support for typed module options in `installModule` ([#26744](https://github.com/nuxt/nuxt/pull/26744)) +- the option to specify compatibility with certain builders (vite/webpack) in module options ([#27022](https://github.com/nuxt/nuxt/pull/27022)) +- a new `onPrehydrate` hook for hooking into the browser hydration cycle ([#27037](https://github.com/nuxt/nuxt/pull/27037)) +- the ability to access and update _resolved_ runtime configuration within modules, with new build-time `useRuntimeConfig` and `updateRuntimeConfig` utils ([#27117](https://github.com/nuxt/nuxt/pull/27117)) + +## 🎨 Inlined UI templates + +If you previously used `@nuxt/ui-templates` then it may be worth knowing that we have moved them from [a separate repository](https://github.com/nuxt/ui-templates) into the [nuxt/nuxt](https://github.com/nuxt/nuxt) monorepo. (This is purely a refactor rather than a change, although you can expect some new designs for Nuxt v4.) + +## ✅ 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. + +## Full Release Notes + +::read-more +--- +color: gray +icon: i-simple-icons-github +target: _blank +to: https://github.com/nuxt/nuxt/releases/tag/v3.12.0 +--- +Read the full release notes of Nuxt `v3.12.0`. +:: + +A huge thank you to the 75+ Nuxt contributors and community members who have been part of this release. ❤️ + +Finally, thank you for reading this far! We hope you enjoy v3.12, and please do let us know if you have any feedback or issues. 🙏 + +**Happy Nuxting ✨** diff --git a/content/7.blog/3.nuxt3-rc.md b/content/7.blog/3.nuxt3-rc.md index 7ddb31b4f..d6c0b1264 100644 --- a/content/7.blog/3.nuxt3-rc.md +++ b/content/7.blog/3.nuxt3-rc.md @@ -22,7 +22,7 @@ authors: category: Релиз --- -We are excited to open source Nuxt 3 after more than a year of intense development. The repository is available on GitHub on [nuxt/nuxt](https://github.com/nuxt/nuxt) under the [MIT](https://github.com/nuxt/nuxt/blob/main/LICENSE) license. +We are excited to open source Nuxt 3 after more than a year of intense development. The repository is available on GitHub on [nuxt/nuxt](https://go.nuxt.com/github) under the [MIT](https://go.nuxt.com/license) license. ::tip The documentation is available on https://nuxt.com. diff --git a/nuxt.config.ts b/nuxt.config.ts index 653ff7ff8..33b10e1b3 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -111,7 +111,7 @@ export default defineNuxtConfig({ // failOnError: false // TODO: investigate // Ignore weird url from crawler on some modules readme - ignore: ['/modules/%3C/span', '/modules/%253C/span', '/docs/getting-started/ [{ }, { icon: 'i-ph-shooting-star-duotone', label: 'Звезды на GitHub', - to: 'https://github.com/nuxt/nuxt', + to: 'https://go.nuxt.com/github', target: '_blank' }, { icon: 'i-ph-chat-centered-text-duotone', label: 'Чат в Discord', - to: 'https://discord.com/invite/nuxt', + to: 'https://go.nuxt.com/discord', target: '_blank' }, { icon: 'i-ph-hand-heart-duotone', label: 'Стать спонсором', - to: 'https://github.com/sponsors/nuxt', + to: 'https://go.nuxt.com/sponsor', target: '_blank' }]) diff --git a/pages/index.vue b/pages/index.vue index ca5580ba1..75044d3f1 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -50,7 +50,7 @@ useSeoMeta({