上一篇我們設定好了socket連線,並且在首頁引入socket來收發事件,不過這樣做用了一陣子就會發現一件事情
就是要一直引入socket
就有點麻煩,更何況是聊天室一堆都有機會接收socket事件,所以這篇就是來解決這個問題~
在plugins
資料夾下增加一支socket-io.js
加入以下
import io from 'socket.io-client'
const socket = io()
export default (ctx, inject) => {
inject('socket', socket)
// inject('newName', 觸發事件) 使用上就會變成 this.$newName
}
加完之後必須到nuxt.config
設定plugin,在裡面找到plugins的項目加上plugin檔案路徑
plugins: [{ src: '~/plugins/socket-io' }],
之後在任何vue裡都可以直接用this.$socket
使用socket事件囉~(゚∀゚)(゚∀゚)(゚∀゚)
現在就可以把前一篇在首頁上加上的socket引入拔掉囉~