關(guān)于在vue中使用websocket的簡(jiǎn)易例子
使用vue-cli生成一個(gè)vue模版
安裝三個(gè)依賴(lài):
npm install -s socket.io npm install -s vue-socket.io npm install -s socket.io-client
創(chuàng)建一個(gè)新的servers:在文件最外層創(chuàng)建 server/app.js文件:
var sever=require('http').createServer(); var io=require('socket.io')(sever) io.on('connection', function (socket) { socket.on('login',function(data){ //接收連接中的login事件 console.log(data); io.emit('loginmsg','你發(fā)過(guò)來(lái)的數(shù)據(jù)是:'+data) //發(fā)送回去 事件名為loginmsg }) }) console.log('socket端口:8000'); sever.listen(8000)
在package.js文件中添加啟動(dòng)腳本:
script{ "server": "node sever/app.js"}
在mian.js中vue.use():
import VueSocketio from 'vue-socket.io'; import socketio from 'socket.io-client'; Vue.use(VueSocketio, socketio('ws://127.0.0.1:8000'));//與websocket服務(wù)端鏈接
在.vue文件中:
<template> <div> <div> <input type="text" v-model="msg"> <button @click='Login'>向8000端口發(fā)送數(shù)據(jù)</button> {{backdata}} </div> </div> </template> <script> export default{ data:function (){ return { msg:"aaaa", backdata:'', } }, sockets:{ //在此接收又服務(wù)器發(fā)送過(guò)來(lái)的數(shù)據(jù) ps:注意此處的方法名要與服務(wù)器的發(fā)送的事件保持一致才能接收到 connect:function() { //與ws:127.0.0.1:8000連接后回調(diào) console.log('連接成功'); }, loginmsg:function(value) { console.log(value);//監(jiān)聽(tīng)login(后端向前端emit login的回調(diào)) this.backdata=value; } }, methods:{ Login(){ this.$socket.emit('login',this.msg); } } } </script>
先啟動(dòng)8000端口 npm run server
然后打開(kāi)新的命令行 npm run dev 啟動(dòng)vue模版
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com