Maison interface Web Voir.js Comment utiliser Vue pour implémenter la fonction de chat en ligne ?

Comment utiliser Vue pour implémenter la fonction de chat en ligne ?

Jun 25, 2023 am 08:30 AM
实现方法 vue框架 在线聊天

Avec le développement continu d'Internet, la fonction de chat est progressivement devenue l'une des fonctions nécessaires à de nombreux sites Web et applications. Si vous souhaitez ajouter une fonctionnalité de chat en ligne à votre site Web, Vue peut être un bon choix.

Vue est un framework progressif permettant de créer des interfaces utilisateur faciles à utiliser, flexibles et puissantes. Dans cet article, nous expliquerons comment utiliser Vue pour implémenter une fonction de chat en ligne. Nous espérons que cela vous sera utile.

Étape 1 : Créer un projet Vue

Tout d'abord, nous devons créer un nouveau projet Vue pour pouvoir commencer à développer notre application de chat. Vous pouvez utiliser Vue CLI pour créer un nouveau projet Vue.

Ouvrez un terminal et entrez la commande suivante :

vue create chat-app
Copier après la connexion

Cela créera un nouveau projet Vue nommé chat-app et installera automatiquement les dépendances requises. Une fois terminé, entrez dans le répertoire du projet et démarrez le serveur de développement : chat-app 的新的 Vue 项目,并自动安装所需的依赖项。完成后,进入项目目录并启动开发服务器:

cd chat-app
npm run serve
Copier après la connexion

现在,你应该可以在浏览器中访问 http://localhost:8080 ,看到一个欢迎界面了。

步骤 2:建立聊天界面

接下来,我们将添加一个简单的聊天界面。我们将使用 Materialize CSS 框架来帮助我们构建界面。

首先,在项目根目录的 index.html 文件中,将以下代码添加到 <head> 标签中:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
Copier après la connexion

然后,在 App.vue 组件中,将以下代码添加到 <template> 标签中:

<div class="container">
  <div class="row">
    <div class="col s12">
      <ul class="collection">
        <li class="collection-item avatar">
          <i class="material-icons circle blue">person</i>
          <p class="title">John Doe</p>
          <p class="message">Hello</p>
        </li>
        <li class="collection-item avatar">
          <i class="material-icons circle green">person</i>
          <p class="title">Jane Doe</p>
          <p class="message">Hi</p>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="input-field col s12">
      <input type="text" id="message">
      <label for="message">Message</label>
    </div>
  </div>
</div>
Copier après la connexion

这会在页面上呈现一个具有两条消息和一个文本输入框的聊天界面。

步骤 3:添加聊天逻辑

现在,我们需要添加逻辑来允许我们在聊天中发送新消息。我们将使用 Socket.IO 来处理实时通信。

首先,我们需要安装 Socket.IO。使用终端,运行以下命令:

npm install socket.io-client
Copier après la connexion

然后,在 App.vue 组件中的 <script> 标签中添加以下代码:

import io from 'socket.io-client';

export default {
  name: 'App',
  data() {
    return {
      username: 'User',
      messages: [],
      message: '',
      socket: null,
    };
  },
  mounted() {
    this.socket = io('http://localhost:3000');

    this.socket.on('connect', () => {
      console.log('Connected to server');
    });

    this.socket.on('disconnect', () => {
      console.log('Disconnected from server');
    });

    this.socket.on('message', (data) => {
      this.messages.push(data);
    });
  },
  methods: {
    sendMessage() {
      if (this.message.trim() !== '') {
        const data = {
          username: this.username,
          message: this.message.trim(),
        };
        this.socket.emit('message', data);
        this.messages.push(data);
        this.message = '';
      }
    },
  },
};
Copier après la connexion

这个代码段会创建一个名为 socket 的 Socket.IO 客户端实例并使用它来连接到服务器。当客户端成功连接到服务器时,connect 事件将被触发。同样,当客户端从服务器断开连接时,disconnect 事件也会被触发。

我们还将定义一个名为 sendMessage 的方法,用于发送新消息。当 sendMessage 被调用时,它会使用 emit 函数将新消息发送到服务器,并在本地添加一个新的消息记录。

最后,在聊天输入框下方的 input 元素中,如下所示:

<input type="text" id="message" v-model="message" @keyup.enter="sendMessage">
Copier après la connexion

我们将使用 v-model 指令将输入框的值绑定到该组件的 message 数据属性上,并使用 @keyup.enter 监听回车键,以便在用户按下回车键时调用我们的 sendMessage 方法。

步骤 4:启动服务器

现在,我们还需要创建一个服务器来处理实时通信。我们将使用 Express 和 Socket.IO 搭建一个简单的服务器。

首先,使用终端,运行以下命令来安装所需的依赖项:

npm install express socket.io
Copier après la connexion

然后,在项目根目录中创建一个名为 server.js 的新文件,并添加以下代码:

const express = require('express');
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);

const PORT = process.env.PORT || 3000;

let messages = [];

app.use(express.static('public'));

io.on('connection', (socket) => {
  console.log('User connected');

  socket.on('message', (data) => {
    messages.push(data);
    socket.broadcast.emit('message', data);
  });

  socket.on('disconnect', () => {
    console.log('User disconnected');
  });

  socket.emit('messages', messages);
});

server.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});
Copier après la connexion

这个代码段会创建一个名为 server 的 Express 应用程序实例,并使用 http 模块将其包装为一个 HTTP 服务器。它还会使用 Socket.IO 创建了一个新的 Socket.IO 服务器,并将其绑定到 HTTP 服务器上。

我们定义了一个名为 messages 的数组来储存所有聊天记录。当新消息到达服务器时,我们将其添加到 messages 数组中,并使用 broadcast.emit 函数将其广播给所有客户端。

最后,我们调用服务器的 listen

npm run serve
Copier après la connexion

Maintenant, vous devriez pouvoir accéder à http://localhost:8080 dans le navigateur et voir un écran de bienvenue.

Étape 2 : Créer une interface de chat

Ensuite, nous ajouterons une interface de chat simple. Nous utiliserons le framework CSS Materialise pour nous aider à créer notre interface.

Tout d'abord, dans le fichier index.html du répertoire racine du projet, ajoutez le code suivant à la balise <head> :

node server.js
Copier après la connexion
Ensuite, dans le App.vue, ajoutez le code suivant à la balise <template> :

rrreee

Cela affichera une discussion avec deux messages et une zone de saisie de texte sur l'interface de la page. .

Étape 3 : Ajouter une logique de chat

Maintenant, nous devons ajouter une logique pour nous permettre d'envoyer de nouveaux messages dans le chat. Nous utiliserons Socket.IO pour gérer la communication en temps réel.

Tout d’abord, nous devons installer Socket.IO. A l'aide du terminal, exécutez la commande suivante :

rrreee

Ensuite, ajoutez le code suivant dans la balise <script> du composant App.vue : 🎜rrreee🎜This l'extrait de code créera une instance client Socket.IO nommée socket et l'utilisera pour se connecter au serveur. Lorsque le client se connecte avec succès au serveur, l'événement connect sera déclenché. De même, l'événement disconnect est déclenché lorsque le client se déconnecte du serveur. 🎜🎜Nous définirons également une méthode appelée sendMessage pour envoyer de nouveaux messages. Lorsque sendMessage est appelé, il envoie un nouveau message au serveur à l'aide de la fonction emit et ajoute un nouvel enregistrement de message localement. 🎜🎜Enfin, dans l'élément input sous la zone de saisie du chat, comme indiqué ci-dessous : 🎜rrreee🎜Nous utiliserons la directive v-model pour lier la valeur de l'entrée sur l'attribut de données message de ce composant, et utilisez @keyup.enter pour écouter la touche Entrée, afin que notre sendMessage de la touche Entrée. 🎜🎜Étape 4 : Démarrez le serveur🎜🎜Maintenant, nous devons également créer un serveur pour gérer la communication en temps réel. Nous allons construire un serveur simple en utilisant Express et Socket.IO. 🎜🎜Tout d'abord, à l'aide de Terminal, exécutez la commande suivante pour installer les dépendances requises : 🎜rrreee🎜 Ensuite, créez un nouveau fichier nommé <code>server.js dans le répertoire racine du projet et ajoutez le code suivant :🎜rrreee 🎜Cet extrait de code crée une instance d'application Express nommée server et l'enveloppe en tant que serveur HTTP à l'aide du module http. Il crée également un nouveau serveur Socket.IO à l'aide de Socket.IO et le lie au serveur HTTP. 🎜🎜Nous définissons un tableau nommé messages pour stocker tous les enregistrements de discussion. Lorsqu'un nouveau message arrive sur le serveur, nous l'ajoutons au tableau messages et le diffusons à tous les clients en utilisant la fonction broadcast.emit. 🎜🎜Enfin, nous appelons la fonction listen du serveur pour commencer à écouter les demandes de connexion du client. 🎜🎜Étape 5 : Exécutez l'application🎜🎜Maintenant, nous avons terminé la création de l'intégralité de l'application. Nous devons démarrer l'application et le serveur à partir de deux fenêtres de ligne de commande différentes. 🎜🎜Dans la première fenêtre de ligne de commande, entrez la commande suivante : 🎜rrreee🎜Cela lancera notre application Vue et l'ouvrira dans le navigateur. 🎜🎜Ensuite, dans une autre fenêtre de ligne de commande, entrez la commande suivante : 🎜rrreee🎜Cela démarrera notre serveur et commencera à écouter les demandes de connexion des clients. 🎜🎜Maintenant, vous pouvez saisir un nouveau message dans l'interface de chat et appuyer sur la touche Entrée pour l'envoyer. Le nouveau message sera affiché sur l'interface et envoyé périodiquement au navigateur de l'utilisateur. 🎜🎜Conclusion🎜🎜Dans cet article, nous avons appris à créer une application de chat en temps réel à l'aide de Vue et Socket.IO. Nous couvrons l'ensemble du processus, depuis la configuration d'un projet Vue jusqu'à l'ajout d'une logique de discussion et le démarrage du serveur. Espérons que cet exemple vous aide à comprendre comment utiliser Vue pour créer des applications en temps réel. 🎜

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Quelle est la manière d'implémenter le sondage dans Android ? Quelle est la manière d'implémenter le sondage dans Android ? Sep 21, 2023 pm 08:33 PM

L'interrogation sous Android est une technologie clé qui permet aux applications de récupérer et de mettre à jour des informations à partir d'un serveur ou d'une source de données à intervalles réguliers. En mettant en œuvre des sondages, les développeurs peuvent garantir la synchronisation des données en temps réel et fournir le contenu le plus récent aux utilisateurs. Cela implique d'envoyer des requêtes régulières à un serveur ou à une source de données et d'obtenir les dernières informations. Android fournit plusieurs mécanismes tels que des minuteries, des threads et des services en arrière-plan pour effectuer efficacement les interrogations. Cela permet aux développeurs de concevoir des applications réactives et dynamiques qui restent synchronisées avec les sources de données distantes. Cet article explique comment implémenter l'interrogation dans Android. Il couvre les principales considérations et étapes impliquées dans la mise en œuvre de cette fonctionnalité. Sondage Le processus de vérification périodique des mises à jour et de récupération des données à partir d'un serveur ou d'une source est appelé sondage dans Android. passer

Comment implémenter des effets de filtre d'image en PHP Comment implémenter des effets de filtre d'image en PHP Sep 13, 2023 am 11:31 AM

La méthode de mise en œuvre de l'effet de filtre d'image PHP nécessite des exemples de code spécifiques Introduction : Dans le processus de développement Web, les effets de filtre d'image sont souvent utilisés pour améliorer la vivacité et les effets visuels des images. Le langage PHP fournit une série de fonctions et de méthodes pour obtenir divers effets de filtre d'image. Cet article présentera certains effets de filtre d'image couramment utilisés et leurs méthodes de mise en œuvre, et fournira des exemples de code spécifiques. 1. Réglage de la luminosité Le réglage de la luminosité est un effet de filtre d'image courant, qui peut modifier la luminosité et l'obscurité de l'image. En utilisant imagefilte en PHP

Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Aug 18, 2023 pm 10:09 PM

Introduction aux méthodes et étapes de mise en œuvre de la fonction d'enregistrement de connexion pour la vérification des e-mails PHP Avec le développement rapide d'Internet, les fonctions d'enregistrement et de connexion des utilisateurs sont devenues l'une des fonctions nécessaires pour presque tous les sites Web. Afin de garantir la sécurité des utilisateurs et de réduire l'enregistrement du spam, de nombreux sites Web utilisent la vérification des e-mails pour l'enregistrement et la connexion des utilisateurs. Cet article expliquera comment utiliser PHP pour implémenter la fonction de connexion et d'enregistrement de la vérification des e-mails, et sera accompagné d'exemples de code. Configurer la base de données Tout d'abord, nous devons configurer une base de données pour stocker les informations sur les utilisateurs. Vous pouvez utiliser MySQL ou

Comment implémenter la fonction loupe d'image en JavaScript ? Comment implémenter la fonction loupe d'image en JavaScript ? Oct 19, 2023 am 08:33 AM

Comment JavaScript implémente-t-il la fonction de loupe d'image ? Dans la conception Web, la fonction loupe d’image est souvent utilisée pour afficher des images de produits, des détails d’illustrations, etc. En passant la souris sur l'image, celle-ci peut être agrandie pour aider les utilisateurs à mieux observer les détails. Cet article expliquera comment utiliser JavaScript pour réaliser cette fonction et fournira des exemples de code. Tout d’abord, nous devons préparer un élément d’image avec un effet de grossissement en HTML. Par exemple, dans la structure HTML suivante, nous plaçons une grande image dans

Méthode d'implémentation de l'équilibrage de charge dans la documentation Workerman Méthode d'implémentation de l'équilibrage de charge dans la documentation Workerman Nov 08, 2023 pm 09:20 PM

Workerman est un framework réseau hautes performances développé sur la base de PHP et est largement utilisé pour créer des systèmes de communication en temps réel et des services à haute concurrence. Dans les scénarios d'application réels, nous devons souvent améliorer la fiabilité et les performances du système grâce à l'équilibrage de charge. Cet article explique comment implémenter l'équilibrage de charge dans Workerman et fournit des exemples de code spécifiques. L'équilibrage de charge fait référence à l'allocation du trafic réseau à plusieurs serveurs principaux pour améliorer la capacité de charge du système, réduire le temps de réponse et augmenter la disponibilité et l'évolutivité du système. en wo

Méthodes d'implémentation et exemples d'héritage multiple en C++ Méthodes d'implémentation et exemples d'héritage multiple en C++ Aug 22, 2023 am 09:27 AM

1. Introduction à l'héritage multiple C++ En C++, l'héritage multiple signifie qu'une classe peut hériter des caractéristiques de plusieurs classes. Cette méthode peut combiner les caractéristiques et les comportements de différentes classes en une seule classe, créant ainsi de nouvelles classes avec des fonctions plus flexibles et plus complexes. La méthode d'héritage multiple de C++ est différente des autres langages de programmation orientés objet tels que Java et C#, elle permet à une classe d'hériter de plusieurs classes en même temps, tandis que Java et C# ne peuvent implémenter qu'un seul héritage. C'est précisément parce que l'héritage multiple a des capacités de programmation plus puissantes que dans la programmation C++, l'héritage multiple a gagné du terrain.

Comment implémenter la fonction d'invite à bulles en JavaScript ? Comment implémenter la fonction d'invite à bulles en JavaScript ? Oct 27, 2023 pm 03:25 PM

Comment implémenter la fonction d'invite à bulles en JavaScript ? La fonction d'invite à bulles est également appelée boîte d'invite contextuelle. Elle peut être utilisée pour afficher des informations d'invite temporaires sur une page Web, telles que l'affichage d'un retour d'information sur une opération réussie, l'affichage d'informations pertinentes lorsque la souris survole un élément, etc. . Dans cet article, nous apprendrons comment utiliser JavaScript pour implémenter la fonction d'invite à bulles et fournirons quelques exemples de code spécifiques. Étape 1 : structure HTML Tout d’abord, nous devons ajouter un conteneur pour afficher les invites à bulles en HTML.

Discussion approfondie sur la méthode d'implémentation du mécanisme anti-shake en PHP Discussion approfondie sur la méthode d'implémentation du mécanisme anti-shake en PHP Oct 12, 2023 am 10:30 AM

Une discussion approfondie de l'implémentation du mécanisme anti-shake en PHP nécessite des exemples de code spécifiques. Le mécanisme anti-shake est une technologie couramment utilisée pour éviter le déclenchement fréquent de fonctions, notamment lors des opérations d'interaction utilisateur. En PHP, le mécanisme anti-shake peut être utilisé pour gérer les clics continus de l'utilisateur ou les appels de fonction fréquemment déclenchés, réduisant ainsi efficacement la pression sur le serveur et améliorant l'expérience utilisateur. Cet article approfondira l'implémentation du mécanisme anti-shake en PHP et fournira des exemples de code spécifiques. Le principe du mécanisme anti-secousse est que lorsqu'une fonction est déclenchée, si dans le délai imparti

See all articles