Vue Socket.io ソース コードの詳細な分析

亚连
リリース: 2018-06-07 11:55:14
オリジナル
2295 人が閲覧しました

この記事では主に Vue Socket.io のソース コードの解釈を紹介しますので、参考にしてください。

背景

今年の12月に再構築に着手したプロジェクトがあり、そのプロジェクトにはソケットが関係しています。ただし、ソケットは以前の開発者によってパッケージ化されたパッケージを使用しています (これについて、現在のメンバーから、なぜ何千回も焼き戻されたホイールを使用しないのかについて不満の声が上がっています)。したがって、このリファクタリングの機会を利用して、vue-socket.io が導入され、socket.io がバックエンドとして使用されます。私も興味があったので、vue-socket.io のソース コードを見てみました (このライブラリのドキュメントが簡潔すぎるため、とは言いません。安定性を高めるためにそれを使用する方法を理解するためにソース コードを見ただけです) )

スタート

ファイルのアーキテクチャ

主に src の下にある 3 つのファイルを確認します。ライブラリがオブザーバー モードを使用していることがわかります

Main.js

// 这里创建一个observe对象,具体做了什么可以看Observer.js文件 let observer = new Observer(connection, store) // 将socket挂载到了vue的原型上,然后就可以 // 在vue实例中就可以this.$socket.emit('xxx', {}) Vue.prototype.$socket = observer.Socket;
ログイン後にコピー
import store from './yourstore' Vue.use(VueSocketio, socketio('http://socketserver.com:1923'), store);
ログイン後にコピー

を使用したい場合。このライブラリは通常、次のコードのように記述されます (上の図 2)。上の図 1 の接続とストアは、それぞれ図 2 の最後の 2 つのパラメーターです。それぞれソケット接続とvuexのストアのURLを意味します。図 1 では、これら 2 つのパラメーターをオブザーバーに渡し、新しいオブザーバー オブジェクトを作成し、オブザーバー オブジェクトのソケット プロパティを Vue プロトタイプにマウントします。次に、Vue インスタンスで this.$sockets.emit('xxx', {}) を直接実行できます

//
ログイン後にコピー

以上がVue Socket.io ソース コードの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。