Vue excellente pratique - implémentation du rendu SSR de 0 à 1
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.
- 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
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
- 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
- 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
文件中。
- 修改Vue入口文件
在src
目录下,我们可以找到main.js
文件,这是Vue框架的入口文件。我们需要进行修改,以支持SSR渲染。首先,我们需要将Vue的实例转变为一个工厂函数,这样在SSR时,可以为每个请求创建一个新的实例。将原本的:
new Vue({ render: h => h(App), }).$mount('#app')
修改为:
export function createApp() { return new Vue({ render: h => h(App) }) }
然后,我们需要将createApp
函数导出,在后面创建服务器脚本时会用到。
- 创建服务器脚本
在项目根目录下,我们需要创建一个服务器脚本。在项目根目录下创建一个名为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') })
这段代码实现了一个简单的Express服务器,它会将./dist
目录下的静态文件暴露在/dist
路由下,并且对于所有路由请求(*
),使用createBundleRenderer
方法从vue-ssr-server-bundle.json
文件中读取server bundle,并且将渲染后的HTML文本映射到一个基础的HTML模版中,将最终结果返回给客户端。
- 进行构建并启动服务器
在终端运行以下命令:
npm run build npm run serve
其中,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 :
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

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.

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.

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.

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.

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.

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.
