diff --git a/package.json b/package.json index 3fd9684..e1bf687 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@intlify/unplugin-vue-i18n": "^6.0.3", "@pinia/colada": "^0.13.5", "@primeuix/themes": "^1.0.0", - "@unhead/vue": "^1.11.18", + "@unhead/vue": "^2.0.2", "@vant/use": "^1.6.0", "@vueuse/core": "^13.0.0", "alova": "^3.2.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eead894..51f076d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,8 +29,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 '@unhead/vue': - specifier: ^1.11.18 - version: 1.11.18(vue@3.5.13(typescript@5.8.2)) + specifier: ^2.0.2 + version: 2.0.2(vue@3.5.13(typescript@5.8.2)) '@vant/use': specifier: ^1.6.0 version: 1.6.0(vue@3.5.13(typescript@5.8.2)) @@ -1546,19 +1546,10 @@ packages: resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unhead/dom@1.11.18': - resolution: {integrity: sha512-zQuJUw/et9zYEV0SZWTDX23IgurwMaXycAuxt4L6OgNL0T4TWP3a0J/Vm3Q02hmdNo/cPKeVBrwBdnFUXjGU4w==} - - '@unhead/schema@1.11.18': - resolution: {integrity: sha512-a3TA/OJCRdfbFhcA3Hq24k1ZU1o9szicESrw8DZcGyQFacHnh84mVgnyqSkMnwgCmfN4kvjSiTBlLEHS6+wATw==} - - '@unhead/shared@1.11.18': - resolution: {integrity: sha512-OsupRQRxJqqnuKiL1Guqipjbl7MndD5DofvmGa3PFGu2qNPmOmH2mxGFjRBBgq2XxY1KalIHl/2I9HV6gbK8cw==} - - '@unhead/vue@1.11.18': - resolution: {integrity: sha512-Jfi7t/XNBnlcauP9UTH3VHBcS69G70ikFd2e5zdgULLDRWpOlLs1sSTH1V2juNptc93DOk9RQfC5jLWbLcivFw==} + '@unhead/vue@2.0.2': + resolution: {integrity: sha512-pUGcbmPNCALOVWnQRtIjJ5ubNaZus3nHfCBDPEVwhbiLzeLF6wbhgTakwksZ1EegKNOZwRAkmVbV6i+23OYEUQ==} peerDependencies: - vue: '>=2.7 || >=3' + vue: '>=3.5.13' '@unocss/astro@66.0.0': resolution: {integrity: sha512-GBhXT6JPqXjDXoJZTXhySk83NgOt0UigChqrUUdG4x7Z+DVYkDBION8vZUJjw0OdIaxNQ4euGWu4GDsMF6gQQg==} @@ -3979,9 +3970,6 @@ packages: package-manager-detector@0.2.8: resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} - packrup@0.1.2: - resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==} - page-stack-vue3@2.5.6: resolution: {integrity: sha512-X3POhyhkmtVski4cqM8lNW1L1w7SEvtGgvgGE2zKYIks/CRYYm0Wuzo/r15KBAb/XSE7ILq9ADmIetJm89kWRg==} peerDependencies: @@ -4890,8 +4878,8 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - unhead@1.11.18: - resolution: {integrity: sha512-TWgGUoZMpYe2yJwY6jZ0/9kpQT18ygr2h5lI6cUXdfD9UzDc0ytM9jGaleSYkj9guJWXkk7izYBnzJvxl8mRvQ==} + unhead@2.0.2: + resolution: {integrity: sha512-1pcK/rSA70sezpdgmupQPd/yrul8pVFJRwMvWjEthbsXoTXMqjNQlV7NBXWeWt5r2uje1lZJsvRTHF7IvdOhcg==} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} @@ -5400,9 +5388,6 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} - zhead@2.2.4: - resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} - zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -6579,27 +6564,10 @@ snapshots: '@typescript-eslint/types': 8.24.0 eslint-visitor-keys: 4.2.0 - '@unhead/dom@1.11.18': - dependencies: - '@unhead/schema': 1.11.18 - '@unhead/shared': 1.11.18 - - '@unhead/schema@1.11.18': + '@unhead/vue@2.0.2(vue@3.5.13(typescript@5.8.2))': dependencies: hookable: 5.5.3 - zhead: 2.2.4 - - '@unhead/shared@1.11.18': - dependencies: - '@unhead/schema': 1.11.18 - packrup: 0.1.2 - - '@unhead/vue@1.11.18(vue@3.5.13(typescript@5.8.2))': - dependencies: - '@unhead/schema': 1.11.18 - '@unhead/shared': 1.11.18 - hookable: 5.5.3 - unhead: 1.11.18 + unhead: 2.0.2 vue: 3.5.13(typescript@5.8.2) '@unocss/astro@66.0.0(vite@6.1.0(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(lightningcss@1.29.2)(sass-embedded@1.83.4)(terser@5.38.2)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))': @@ -9330,8 +9298,6 @@ snapshots: package-manager-detector@0.2.8: {} - packrup@0.1.2: {} - page-stack-vue3@2.5.6(vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2)): dependencies: vue: 3.5.13(typescript@5.8.2) @@ -10278,11 +10244,8 @@ snapshots: undici-types@6.20.0: {} - unhead@1.11.18: + unhead@2.0.2: dependencies: - '@unhead/dom': 1.11.18 - '@unhead/schema': 1.11.18 - '@unhead/shared': 1.11.18 hookable: 5.5.3 unicorn-magic@0.1.0: {} @@ -10872,8 +10835,6 @@ snapshots: yoctocolors@2.1.1: {} - zhead@2.2.4: {} - zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 diff --git a/src/pages/index.page.vue b/src/pages/index.page.vue index fe6f306..08ab780 100644 --- a/src/pages/index.page.vue +++ b/src/pages/index.page.vue @@ -3,18 +3,21 @@ const VITE_BUILD_COMMIT = import.meta.env.VITE_BUILD_COMMIT; import { routes } from 'vue-router/auto-routes'; definePage({ meta: { title: '首页' } }); +import { useHead, useSeoMeta } from '@unhead/vue'; + useHead({ - // Classes bodyAttrs: { class: { overflow: true } }, - // Template params - templateParams: { separator: '|', siteName: 'My App' }, - // Titles title: 'Hello World', - titleTemplate: '%s %separator %siteName', + titleTemplate: (title) => `${title} | My App`, // Deduping // script: [{ key: '123', src: '/script.js' }], }); +useSeoMeta({ + description: '首页', + title: 'Hello World', +}); + consola.info('routes', routes); const FComponent: import('vue').FunctionalComponent<{ prop: string }> = (props /* context */) => (