Maison interface Web Voir.js Vue excellente pratique - implémentation du rendu SSR de 0 à 1

Vue excellente pratique - implémentation du rendu SSR de 0 à 1

Jun 09, 2023 pm 04:14 PM
vue ssr 实践

Dans le développement web, le rendu SSR (Server Side Rendering) est une technologie très critique. Il peut terminer le rendu initial de la page sur le serveur, puis transmettre le fichier HTML rendu au client pour affichage. Par rapport au rendu côté client (CSR) traditionnel, le rendu SSR peut améliorer la vitesse de chargement sur le premier écran des pages Web, les capacités d'optimisation des moteurs de recherche, etc. Cet article présentera comment implémenter le rendu SSR via le framework Vue.

  1. Créer un projet Vue
    Tout d'abord, nous devons créer un projet Vue de base. Exécutez la commande suivante dans le terminal :
vue create my-ssr-app
Copier après la connexion

Avec cette commande, nous pouvons créer rapidement un projet de base Vue, puis entrer dans le répertoire du projet via la commande :

cd my-ssr-app
Copier après la connexion
  1. Ajouter des dépendances SSR
    Ensuite, nous devons ajouter SSR -dépendances liées. Entrez les commandes suivantes dans le terminal :
npm install --save vue vue-server-renderer express
Copier après la connexion
  • vue : une dépendance du framework Vue lui-même.
  • vue-server-renderer : moteur de rendu SSR pour Vue.
  • express : Un framework d'application web basé sur Node.js.

La commande ci-dessus installera automatiquement les dépendances dans le fichier package.json du projet. package.json文件中。

  1. 修改Vue入口文件
    src目录下,我们可以找到main.js文件,这是Vue框架的入口文件。我们需要进行修改,以支持SSR渲染。首先,我们需要将Vue的实例转变为一个工厂函数,这样在SSR时,可以为每个请求创建一个新的实例。将原本的:
new Vue({
  render: h => h(App),
}).$mount('#app')
Copier après la connexion

修改为:

export function createApp() {
  return new Vue({
    render: h => h(App)
  })
}
Copier après la connexion

然后,我们需要将createApp函数导出,在后面创建服务器脚本时会用到。

  1. 创建服务器脚本
    在项目根目录下,我们需要创建一个服务器脚本。在项目根目录下创建一个名为server.js的文件。在该文件中,我们需要导入相关的依赖,然后创建一个简单的服务器:
const express = require('express')
const server = express()
const { createBundleRenderer } = require('vue-server-renderer')
const renderer = createBundleRenderer(require('./dist/vue-ssr-server-bundle.json'))
const template = require('fs').readFileSync('./index.html', 'utf-8')

server.use('/dist', express.static('./dist'))

server.get('*', (req, res) => {
  const context = { url: req.url }
  renderer.renderToString(context, (err, html) => {
    if (err) {
      console.error(err)
      res.status(500).end('Internal Server Error')
      return
    }
    res.end(template.replace('<div id="app"></div>', `<div id="app">${html}</div>`))
  })
})

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000')
})
Copier après la connexion

这段代码实现了一个简单的Express服务器,它会将./dist目录下的静态文件暴露在/dist路由下,并且对于所有路由请求(*),使用createBundleRenderer方法从vue-ssr-server-bundle.json文件中读取server bundle,并且将渲染后的HTML文本映射到一个基础的HTML模版中,将最终结果返回给客户端。

  1. 进行构建并启动服务器
    在终端运行以下命令:
npm run build
npm run serve
Copier après la connexion

其中,npm run build命令会将src目录下的代码构建为server bundle和client bundle,并且将构建后的结果存放在dist目录下。npm run serve命令会启动服务器并监听3000端口。在浏览器中输入http://localhost:3000

    Modifier le fichier d'entrée de Vue

    Dans le répertoire src, on peut trouver le fichier main.js, qui est le fichier d'entrée de le framework Vue. Nous devons apporter des modifications pour prendre en charge le rendu SSR. Tout d'abord, nous devons convertir l'instance Vue en fonction d'usine afin qu'une nouvelle instance puisse être créée pour chaque requête pendant SSR. Remplacez l'original :

    🎜rrreee🎜 par : 🎜rrreee🎜 Ensuite, nous devons exporter la fonction createApp, qui sera utilisée lors de la création ultérieure du script serveur. 🎜
      🎜Créer un script serveur🎜Dans le répertoire racine du projet, nous devons créer un script serveur. Créez un fichier nommé server.js dans le répertoire racine du projet. Dans ce fichier, nous devons importer les dépendances pertinentes puis créer un serveur simple : 🎜🎜rrreee🎜Ce code implémente un simple serveur Express, qui va exposer les fichiers statiques sous la route /dist, et pour toutes les requêtes de route (*), utilisez la méthode createBundleRenderer de vue-ssr- Lisez le bundle du serveur à partir du fichier server-bundle.json , mappez le texte HTML rendu à un modèle HTML de base et renvoyez le résultat final au client. 🎜
        🎜Build et démarrer le serveur🎜Exécutez la commande suivante dans le terminal : 🎜🎜rrreee🎜Parmi elles, la commande npm run build remplacera le src Répertoire Le code ci-dessous est intégré au bundle serveur et au bundle client, et les résultats générés sont stockés dans le répertoire dist. La commande npm run serve démarrera le serveur et écoutera le port 3000. Saisissez http://localhost:3000 dans le navigateur pour accéder à la page rendue par SSR. 🎜🎜À ce stade, nous avons réalisé une simple pratique de rendu Vue SSR. Bien entendu, de nombreuses opérations et détails spécifiques du rendu SSR nécessitent une compréhension et une pratique approfondies. Cet article ne fournit qu'un exemple d'introduction de base. J'espère que cet article pourra aider tout le monde à maîtriser le rendu Vue SSR. 🎜

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 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 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 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