Maison interface Web Voir.js Pratique d'application de la technologie SSR dans Vue 3 pour améliorer l'effet SEO de l'application

Pratique d'application de la technologie SSR dans Vue 3 pour améliorer l'effet SEO de l'application

Sep 08, 2023 pm 12:15 PM
vue seo ssr

Vue 3中的SSR技术应用实践,提升应用的SEO效果

Pratique d'application de la technologie SSR dans Vue 3 pour améliorer l'effet SEO de l'application

Avec le développement rapide du développement front-end, SPA (Single Page Application) est devenu courant. Les avantages du SPA sont évidents et peuvent offrir une expérience utilisateur fluide, mais il existe certains défis en termes de référencement (optimisation des moteurs de recherche). Étant donné que SPA ne renvoie qu'un modèle HTML lors de l'étape de rendu frontal, la plupart du contenu est chargé dynamiquement via JavaScript, ce qui entraîne des difficultés pour les moteurs de recherche lors de l'exploration, de l'indexation et du classement. Afin de résoudre ce problème, la technologie de rendu côté serveur (SSR) a vu le jour.

Vue 3, en tant que l'un des frameworks JavaScript les plus populaires à l'heure actuelle, offre aux développeurs un support SSR. SSR pour Vue 3 exploite les outils Vite et VitePress pour implémenter le rendu isomorphe de JavaScript, permettant aux réponses d'être pré-rendues côté serveur et d'interagir avec celles-ci côté client. Cet article présentera la pratique d'application de la technologie SSR dans Vue 3 et montrera comment utiliser SSR pour améliorer l'effet SEO de l'application.

Tout d'abord, nous devons installer Vue CLI 4 pour prendre en charge la fonction SSR de Vue 3. Exécutez la commande suivante dans la ligne de commande :

npm install -g @vue/cli@4
Copier après la connexion

Ensuite, nous créons un projet à l'aide de Vue CLI :

vue create vue-ssr-demo
Copier après la connexion

Sélectionnez "Sélectionner manuellement les fonctionnalités", puis cochez "Babel" et "Choisir la version de Vue", sélectionnez "2.x " , continuez à créer le projet.

Après la création, nous entrons dans le répertoire du projet et installons les dépendances pertinentes :

cd vue-ssr-demo
npm install vuex vue-router express
Copier après la connexion

Ensuite, nous devons créer un fichier server.js dans le répertoire racine pour démarrer le serveur SSR et afficher la page : server.js文件,用于启动SSR服务器并进行页面渲染:

const express = require('express')
const { createBundleRenderer } = require('vue-server-renderer')
const server = express()

// 读取生成的bundle文件
const bundle = require('./dist/vue-ssr-server-bundle.json')
const renderer = createBundleRenderer(bundle, {
  runInNewContext: false,
  template: require('fs').readFileSync('./public/index.html', 'utf-8'),
  clientManifest: require('./dist/vue-ssr-client-manifest.json')
})

// 静态资源的路径
server.use(express.static('./dist'))

// 所有路由都交给Vue处理
server.get('*', (req, res) => {
  const context = { url: req.url }

  renderer.renderToString(context, (err, html) => {
    if (err) {
      console.error(err)
      if (err.code === 404) {
        res.status(404).end('Page not found')
      } else {
        res.status(500).end('Internal Server Error')
      }
    }

    res.end(html)
  })
})

// 启动服务器
server.listen(8080)
console.log('Server is running on http://localhost:8080')
Copier après la connexion

我们还需要修改package.json文件,将build命令改为build:ssr,以区分SSR的构建方式:

"scripts": {
  "build:ssr": "vue-cli-service build --target node --ssr"
}
Copier après la connexion

现在,我们可以执行以下命令来构建和启动SSR服务器:

npm run build:ssr
node server.js
Copier après la connexion

以上步骤完成后,我们成功地启动了一个SSR的Vue 3应用。

在SSR应用中,有一点需要注意的是,由于在服务器渲染期间不会执行任何浏览器相关的代码,因此不能使用一些只在浏览器可用的API,如windowdocument。为了解决这个问题,Vue 3为我们提供了一些特殊的钩子函数。
首先,我们需要在入口文件中定义createApp函数,如下所示:

import { createSSRApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

export function createApp() {
  const app = createSSRApp(App)
  app.use(router)
  app.use(store)

  return { app, router, store }
}
Copier après la connexion

然后,在服务器端渲染期间,我们使用renderToString方法来渲染Vue应用,如下所示:

import { createApp } from './main'

export default context => {
  return new Promise((resolve, reject) => {
    const { app, router, store } = createApp()

    router.push(context.url)

    router.isReady().then(() => {
      context.rendered = () => {
        context.state = store.state
      }
      resolve(app)
    }, reject)
  })
}
Copier après la connexion

createSSRApp函数用于在服务器上创建应用实例,renderToStringrrreee

Nous devons également modifier le fichier package.json et changer la commande build en build:ssr pour distinguer comment SSR est construit :

rrreee

Maintenant, nous pouvons exécuter la commande suivante pour créer et démarrer le serveur SSR :

rrreee
Une fois les étapes ci-dessus terminées, nous avons démarré avec succès une application SSR Vue 3.

🎜Dans les applications SSR, une chose à noter est que, comme aucun code lié au navigateur ne sera exécuté lors du rendu du serveur, certaines API uniquement disponibles dans les navigateurs ne peuvent pas être utilisées, telles que window et document. Pour résoudre ce problème, Vue 3 nous fournit des fonctions de hook spéciales. 🎜Tout d'abord, nous devons définir la fonction createApp dans le fichier d'entrée, comme indiqué ci-dessous : 🎜rrreee🎜Ensuite, lors du rendu côté serveur, nous utilisons la méthode renderToString pour rendre l'application Vue, comme indiqué ci-dessous : 🎜rrreee🎜 La fonction createSSRApp est utilisée pour créer une instance d'application sur le serveur, et la méthode renderToString est utilisée pour rendre l'application instance dans une chaîne. 🎜🎜Avec la configuration et les exemples de code ci-dessus, nous avons appliqué avec succès la technologie SSR dans Vue 3. SSR peut non seulement améliorer l'effet SEO de l'application, mais également permettre à notre application d'apparaître plus rapidement aux utilisateurs. 🎜🎜Résumé : 🎜Cet article présente la pratique d'application de la technologie SSR dans Vue 3 et fournit des exemples de code pertinents. En utilisant SSR, nous pouvons résoudre les problèmes de référencement des applications SPA et améliorer les effets d'exploration et de classement des moteurs de recherche. La fonction SSR de Vue 3 fournit de meilleurs outils et une meilleure prise en charge aux développeurs front-end, nous aidant à créer des applications plus fiables, optimisées et ayant de meilleurs effets SEO. Avec le développement rapide des applications SPA, SSR est une technologie qui mérite d'être explorée et essayée, tant en termes d'expérience utilisateur que d'optimisation des moteurs de recherche. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Vue réalise l'effet de défilement de chapiteau / texte Vue réalise l'effet de défilement de chapiteau / texte Apr 07, 2025 pm 10:51 PM

Implémentez les effets de défilement marquee / texte dans VUE, en utilisant des animations CSS ou des bibliothèques tierces. Cet article présente comment utiliser l'animation CSS: créer du texte de défilement et envelopper du texte avec & lt; div & gt;. Définissez les animations CSS et défini: caché, largeur et animation. Définissez les images clés, Set Transforment: Translatex () au début et à la fin de l'animation. Ajustez les propriétés d'animation telles que la durée, la vitesse de défilement et la direction.

Que signifie la charge paresseuse? Que signifie la charge paresseuse? Apr 07, 2025 pm 11:54 PM

Dans vue.js, le chargement paresseux permet de charger dynamiquement les composants ou les ressources, en réduisant le temps de chargement des pages initiales et en améliorant les performances. La méthode de mise en œuvre spécifique comprend l'utilisation de & lt; keep-alive & gt; et & lt; composant est & gt; composants. Il convient de noter que le chargement paresseux peut provoquer des problèmes de FOUC (écran d'éclat) et ne doit être utilisé que pour les composants qui nécessitent un chargement paresseux pour éviter les frais généraux de performances inutiles.

Comment interroger la version de Vue Comment interroger la version de Vue Apr 07, 2025 pm 11:24 PM

Vous pouvez interroger la version Vue en utilisant Vue Devtools pour afficher l'onglet Vue dans la console du navigateur. Utilisez NPM pour exécuter la commande "NPM List -g Vue". Recherchez l'élément VUE dans l'objet "dépendances" du fichier package.json. Pour les projets Vue CLI, exécutez la commande "Vue --version". Vérifiez les informations de la version dans le & lt; script & gt; Tag dans le fichier html qui fait référence au fichier VUE.

See all articles