Vueを使ってオンラインチャット機能を実装するにはどうすればよいですか?
インターネットの継続的な発展に伴い、チャット機能は徐々に多くの Web サイトやアプリケーションに必要な機能の 1 つになってきました。 Web サイトにオンライン チャット機能を追加したい場合は、Vue が良い選択肢となります。
Vue は、使いやすく、柔軟で強力なユーザー インターフェイスを構築するための進歩的なフレームワークです。今回はVueを使ってオンラインチャット機能を実装する方法を紹介しますので、ご参考になれば幸いです。
ステップ 1: Vue プロジェクトを作成する
まず、チャット アプリケーションの開発を開始できるように、新しい Vue プロジェクトを作成する必要があります。 Vue CLI を使用して、新しい Vue プロジェクトを作成できます。
ターミナルを開いて次のコマンドを入力します:
vue create chat-app
これにより、chat-app
という名前の新しい Vue プロジェクトが作成され、必要な依存関係が自動的にインストールされます。完了したら、プロジェクト ディレクトリに入り、開発サーバーを起動します。
cd chat-app npm run serve
これで、ブラウザで 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">
次に、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>
これにより、2 つのページがレンダリングされます。メッセージとテキスト入力ボックスを備えたチャット インターフェイス。
ステップ 3: チャット ロジックを追加する
次に、チャットで新しいメッセージを送信できるようにするロジックを追加する必要があります。 Socket.IO を使用してリアルタイム通信を処理します。
まず、Socket.IO をインストールする必要があります。ターミナルを使用して、次のコマンドを実行します:
npm install socket.io-client
次に、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 = ''; } }, }, };
socket という名前の Socket.IO クライアント インスタンスを作成し、それを使用してサーバーに接続します。クライアントがサーバーに正常に接続すると、
connect イベントが発生します。同様に、クライアントがサーバーから切断されると、
disconnect イベントもトリガーされます。
sendMessage というメソッドも定義します。
sendMessage が呼び出されると、
emit 関数を使用して新しいメッセージをサーバーに送信し、新しいメッセージ レコードをローカルに追加します。
input 要素で:
<input type="text" id="message" v-model="message" @keyup.enter="sendMessage">
v-model コマンドを使用して、 enter ボックスの値はコンポーネントの
message データ プロパティにバインドされており、
@keyup.enter を使用して Enter キーをリッスンするため、
sendMessage方法。
npm install express socket.io
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}`); });
server という名前の Express アプリケーション インスタンスを作成し、
http モジュール HTTP サーバーを使用してラップします。また、Socket.IO を使用して新しい Socket.IO サーバーを作成し、それを HTTP サーバーにバインドします。
messages という名前の配列を定義します。新しいメッセージがサーバーに到着すると、それを
messages 配列に追加し、
broadcast.emit 関数を使用してすべてのクライアントにブロードキャストします。
listen 関数を呼び出して、クライアントからの接続リクエストの待機を開始します。
npm run serve
node server.js
以上がVueを使ってオンラインチャット機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Android のポーリングは、アプリケーションがサーバーまたはデータ ソースから定期的に情報を取得および更新できるようにする重要なテクノロジです。ポーリングを実装することで、開発者はリアルタイムのデータ同期を確保し、最新のコンテンツをユーザーに提供できます。これには、サーバーまたはデータ ソースに定期的にリクエストを送信し、最新の情報を取得することが含まれます。 Android は、ポーリングを効率的に完了するためのタイマー、スレッド、バックグラウンド サービスなどの複数のメカニズムを提供します。これにより、開発者はリモート データ ソースとの同期を維持する応答性の高い動的なアプリケーションを設計できるようになります。この記事では、Android でポーリングを実装する方法について説明します。この機能の実装に関連する重要な考慮事項と手順について説明します。ポーリング 更新を定期的にチェックし、サーバーまたはソースからデータを取得するプロセスは、Android ではポーリングと呼ばれます。合格

PHP 画像フィルター効果を実装する方法には、特定のコード例が必要です はじめに: Web 開発のプロセスでは、画像フィルター効果は、画像の鮮やかさや視覚効果を高めるためによく使用されます。 PHP 言語には、さまざまな画像フィルター効果を実現するための一連の関数とメソッドが用意されています。この記事では、一般的に使用されるいくつかの画像フィルター効果とその実装方法を紹介し、具体的なコード例を示します。 1. 明るさの調整 明るさの調整は一般的な画像フィルター効果で、画像の明暗を変更できます。 PHP で imagefilte を使用する

C# で最短パス アルゴリズムを実装する方法には、特定のコード サンプルが必要です。最短パス アルゴリズムはグラフ理論の重要なアルゴリズムであり、グラフ内の 2 つの頂点間の最短パスを見つけるために使用されます。この記事では、C# 言語を使用して 2 つの古典的な最短経路アルゴリズム、ダイクストラ アルゴリズムとベルマン フォード アルゴリズムを実装する方法を紹介します。ダイクストラのアルゴリズムは、広く使用されている単一ソースの最短パス アルゴリズムです。その基本的な考え方は、開始頂点から開始して、徐々に他のノードに拡張し、検出されたノードを更新することです。

PHPメール認証ログイン登録機能の実装方法と手順を紹介 インターネットの急速な発展に伴い、ユーザー登録やログイン機能はほぼ全てのWebサイトに必要な機能の一つとなっています。ユーザーのセキュリティを確保し、スパム登録を減らすために、多くの Web サイトではユーザー登録とログインに電子メール認証を使用しています。この記事では、PHP を使用してメール認証のログインおよび登録機能を実装する方法とコード例を紹介します。データベースをセットアップする まず、ユーザー情報を保存するデータベースをセットアップする必要があります。 MySQL または

JavaScriptでバブルプロンプト機能を実装するにはどうすればよいですか?バブル プロンプト機能は、ポップアップ プロンプト ボックスとも呼ばれ、成功した操作のフィードバックの表示や、要素の上にマウスを置いたときに関連情報を表示するなど、Web ページ上に一時的なプロンプト情報を表示するために使用できます。 。この記事では、JavaScript を使用してバブル プロンプト機能を実装する方法を学び、いくつかの具体的なコード例を示します。ステップ 1: HTML 構造 まず、HTML でバブルプロンプトを表示するためのコンテナを追加する必要があります。

JavaScript は画像拡大鏡機能をどのように実装しますか? Web デザインでは、商品写真やアートワークの詳細などを表示するために、画像拡大鏡機能がよく使用されます。画像の上にマウスを置くと画像が拡大され、詳細をよりよく観察できるようになります。この記事では、JavaScript を使用してこの機能を実現する方法とコード例を紹介します。まずHTMLに拡大効果を持たせたpicture要素を用意する必要があります。たとえば、次の HTML 構造では、大きな画像を

1. C++ 多重継承の概要 C++ では、多重継承とは、1 つのクラスが複数のクラスの特性を継承できることを意味します。この方法では、さまざまなクラスの特性と動作を 1 つのクラスに結合できるため、より柔軟で複雑な機能を備えた新しいクラスを作成できます。 C++ の多重継承方式は Java や C# など他のオブジェクト指向プログラミング言語とは異なり、C++ では 1 つのクラスが同時に複数のクラスを継承できますが、Java や C# では単一継承しか実装できません。多重継承がより強力なプログラミング機能を備えているからこそ、C++ プログラミングでは多重継承が利用されるようになりました。

Laravel で許可ベースの多言語サポートを実装する方法 はじめに: 最近の Web サイトやアプリケーションでは、多言語サポートは非常に一般的な要件です。一部の複雑なシステムでは、ユーザーの権限に基づいて異なる言語の翻訳を動的に表示する必要がある場合もあります。 Laravel は、開発プロセスを簡素化する多くの強力な機能を提供する非常に人気のある PHP フレームワークです。この記事では、Laravel でパーミッションベースの多言語サポートを実装する方法を紹介し、具体的なコード例を示します。ステップ 1: 最初に多言語サポートを構成する
