Maison interface Web js tutoriel Explication détaillée du rendu côté serveur de Vue basé sur Nuxt.js

Explication détaillée du rendu côté serveur de Vue basé sur Nuxt.js

May 26, 2018 pm 03:02 PM
javascript basé sur

Utilisez Vue directement pour créer une application frontale d'une seule page. Le code source de la page ne contient que quelques lignes HTML simples, ce qui n'est pas propice au référencement du site Web. requis.Cet article présente principalement l'explication détaillée de Vue basée sur Nuxt.js. L'implémentation du rendu côté serveur (SSR) a une certaine valeur de référence. Les amis intéressés peuvent se référer à

pour utiliser directement Vue pour créer un front-end. application monopage. Le code source de la page ne contient que quelques lignes simples de HTML. Cela n'est pas propice au référencement du site Web, le rendu côté serveur est donc requis pour le moment

En octobre. Le 25 décembre 2016, l'équipe derrière zeit.co a publié un framework d'application de rendu côté serveur React Next.js

Quelques heures plus tard, un framework d'application de rendu côté serveur basé sur Vue.js a vu le jour, qui est similaire à Next.js. Il s'agit de Nuxt.js

1 Modèle rapide

En partant du principe que vue-cli a été installé. , vous pouvez créer rapidement un modèle de projet nuxt

vue init nuxt-community/starter-template MyProject
Copier après la connexion

Parmi eux, MyProject est le nom du dossier du projet, qui peut être personnalisé

via npm install (cela semble être plus fluide avec yarn install Après avoir installé les dépendances, vous pouvez directement npm exécuter dev dans l'environnement de développementDémarrer le projet

<). 🎜>L'adresse de démarrage par défaut est http://localhost:3000/, vous pouvez ajouter la configuration suivante dans

package.json pour modifier le numéro de port hôte

 "config": {
  "nuxt": {
   "host": "0.0.0.0",
   "port": "7788"
  }
 },
Copier après la connexion

Une fois le développement terminé, exécutez npm run build pour empaqueter le code, et enfin npm start pour démarrer le service

2. >Le répertoire du projet généré est le suivant

La plupart des noms de dossiers

sont réservés par nuxt par défaut et ne peuvent pas être modifiés

Il existe trois répertoires essentiels pour la comparaison des prix :

1. Répertoire des composants

est généralement utilisé pour stocker des composants

hors-page

, tels que l'en-tête, le pied de page et d'autres composants publics Les composants de ce répertoire ont les méthodes et les caractéristiques des composants vue classiques et ne seront pas étendu par nuxt.js

2. Répertoire de mise en page des mises en page

Vous pouvez modifier le fichier default.vue dans ce répertoire pour modifier le disposition par défaut

<template>
 <p>
  <my-header></my-header>
  <nuxt/>
  <my-footer></my-footer>
 </p>
</template>
Copier après la connexion

est requis, et le contenu principal de la page sera affiché ici (similaire à celui du nœud racine )

De plus, vous pouvez également ajouter error.vue comme page d'erreur dans le répertoire Pour des méthodes d'écriture spécifiques, veuillez vous référer à la documentation officielle

.

3. Répertoire de pages

est utilisé pour stocker les composants au niveau de la page <🎜. >

Par exemple, la structure de page dans l'image ci-dessus générera une telle configuration de routage :

router: {
 routes: [
  {
   name: &#39;index&#39;,
   path: &#39;/&#39;,
   component: &#39;pages/index.vue&#39;
  },
  {
   name: &#39;about&#39;,
   path: &#39;/about&#39;,
   component: &#39;pages/about.vue&#39;
  },
  {
   name: &#39;classroom&#39;,
   path: &#39;/classroom&#39;,
   component: &#39;pages/classroom.vue&#39;,
   children: [
    {
     path: &#39;student&#39;,
     component: &#39;pages/classroom/student.vue&#39;,
     name: &#39;student&#39;
    },
    { //定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件或目录
     path: &#39;:id&#39;,
     component: &#39;pages/classroom/_id.vue&#39;,
     name: &#39;classroom-id&#39;
    }
   ]
  }
 ]
}
Copier après la connexion
De plus, les composants vue dans ce répertoire ont également quelques fonctionnalités spéciales fournies par Nuxt.js

Parmi elles

asyncData

La méthode est plus couramment utilisée et prend en charge le traitement des données asynchrones

Cette méthode sera appelée avant chaque chargement du composant page

, puis obtient les données et les renvoie au composant actuel

asyncData ({ params, error }) {
  return axios.get(`api/posts/${params.id}`)
  .then((res) => {
   return { name: res.data.name}
  })
  .catch((e) => {
   error({ statusCode: 404, message: &#39;not found&#39; })
  })
 }
Copier après la connexion
Le premier paramètre de asyncData La méthode est le contexte de l'objet contextuel. Les propriétés spécifiques peuvent être consultées ici

Étant donné que la méthode asyncData est appelée avant l'initialisation du composant, donc dans la méthode, il n'y a aucun moyen de référencer l'objet instance du composant via cela.

3. Utilisez des plug-ins

Si vous devez introduire d'autres tiers dans le projet, les plug-ins peuvent être introduits directement dans le page, de sorte que lors de l'empaquetage, le plug-in soit empaqueté dans le js correspondant à la page

Mais si le même plug-in est également introduit dans d'autres pages, il sera empaqueté à plusieurs reprises. S'il n'est pas nécessaire d'empaqueter la pagination, vous pouvez configurer les plugins

à ce moment en prenant element-ui comme exemple, après avoir installé element-ui, créez elementUI.js

<🎜 dans. le répertoire des plugins.>

Ajoutez ensuite l'élément de configuration build.vendor et plugins dans nuxt.config.js dans le répertoire racine

plugins ici L'attribut est utilisé pour configurer le plug-in vue.js, c'est-à-dire
 build: {
  vendor: [&#39;~/plugins/elementUI.js&#39;]
 },
 plugins: [
  {src: &#39;~/plugins/elementUI.js&#39;},
 ]
Copier après la connexion
Vous pouvez utiliser la méthode Vue.user()

pour le plug-in

Par défaut , vous n'avez besoin que de l'attribut src, et vous pouvez également configurer ssr: false pour créer le fichier Il est uniquement empaqueté et introduit côté clientS'il s'agit d'un plug-in tiers (ne peut pas être utilisé) comme axios, il vous suffit de créer axios.js dans le répertoire des plugins

然后在 build.vendor 中添加配置 (不需要配置 plugins)

build: {
 vendor: [&#39;~/plugins/axios.js&#39;]
}
Copier après la connexion

这样在打包的时候,就会把 axios 打包到 vendor.js 中

四、Vuex 状态树

如果在 store 目录下创建了 index.js,nuxt.js 会根据该目录下的文件创建 Vuex 状态树

// store/index.js

import Vue from &#39;vue&#39;
import Vuex from &#39;vuex&#39;
import Axios from &#39;~/plugins/axios.js&#39;;

Vue.use(Vuex)

const store = () => new Vuex.Store({
 state: {
  author: &#39;WiseWrong&#39;,
  info: &#39;&#39;
 },
 mutations: {
  setInfo (state, val) {
   state.info = val
  }
 },
 actions: {
  loadAboutMeInfo ({commit, state}) {
   return Axios.get(`/about`)
    .then(res => {
     console.log(&#39;ajax is success&#39;)
     console.log(res.data.info)
     commit(&#39;setInfo&#39;, res.data.info)
    })
    .catch(err => {
     console.log(&#39;error&#39;)
    })
  }
 }
})

export default store
Copier après la connexion

Nuxt.js 内置引用了 vuex 模块,不需要额外安装

上面的代码中,我在 actions 中写了一个 loadAboutMeInfo() 方法,用来请求 /api/about 接口

然后在 about.vue 页面中调用

// about.vue 

<template>
 <section class="container">
  <p>
   <img src="~/assets/about.png" alt="">
  </p>
  <h1>{{$store.state.info}}</h1>
 </section>
</template>

<script>
export default {
 fetch({ store }) {
  return store.dispatch(&#39;loadAboutMeInfo&#39;)
 },
 name: &#39;about&#39;,
 data () {
  return {}
 }
}
</script>
Copier après la connexion

成果演示:

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

ajax请求之返回数据的顺序问题分析

Ajax异步提交数据返回值的换行问题实例分析

防止重复发送Ajax请求的解决方案


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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Comment utiliser insertBefore en javascript Comment utiliser insertBefore en javascript Nov 24, 2023 am 11:56 AM

Utilisation : En JavaScript, la méthode insertBefore() est utilisée pour insérer un nouveau nœud dans l'arborescence DOM. Cette méthode nécessite deux paramètres : le nouveau nœud à insérer et le nœud de référence (c'est-à-dire le nœud où le nouveau nœud sera inséré).

JavaScript et WebSocket : créer un système de traitement d'images en temps réel efficace JavaScript et WebSocket : créer un système de traitement d'images en temps réel efficace Dec 17, 2023 am 08:41 AM

JavaScript est un langage de programmation largement utilisé dans le développement Web, tandis que WebSocket est un protocole réseau utilisé pour la communication en temps réel. En combinant les puissantes fonctions des deux, nous pouvons créer un système efficace de traitement d’images en temps réel. Cet article présentera comment implémenter ce système à l'aide de JavaScript et WebSocket, et fournira des exemples de code spécifiques. Tout d’abord, nous devons clarifier les exigences et les objectifs du système de traitement d’images en temps réel. Supposons que nous disposions d'un appareil photo capable de collecter des données d'image en temps réel.

See all articles