知道我将如何使用这个插件吗?https://github.com/DimanVorosh/vue-json-rpc-websocket/blob/e2199d89dc15f50e57e7c5c70adfd95e5ceb5cda/src/wsMain.js
我看到它是自动注册的vue,但我不能在nuxt中使用它。
我创建了plugins/vue-json-rpc-websocket.client.js
,在nuxt.config.js
中注册为
'~/plugins/vue-json-rpc-websocket.client.js'
但是,我不知道如何在inject
方法中编写,也不知道是否必须这样做才能使它工作。this.$socket
在组件中未定义。
import Vue from 'vue'
import JRPCWS from 'vue-json-rpc-websocket'
Vue.use(JRPCWS, 'wss://bsc-ws-node.nariox.org:443', {
reconnectEnabled: true,
reconnectInterval: 5000,
reconnectAttempts: 3
})
// do I need this?
export default ({ app }, inject) => {
// Inject $hello(msg) in Vue, context and store.
// inject('hello', msg => console.log(`Hello ${msg}!`))
}
另外,你知道我怎样才能启动'wss://bsc-ws-node.nariox.org:443'
字符串吗?
发布于 2021-04-30 08:37:02
完全在我这一边使用你所用的包裹和您给定的配置。到目前为止不需要注射任何东西!
下面是为示例创建的新回购:https://github.com/kissu/so-nuxt-json-rpc-websocket
下面的屏幕截图是在console.log(this.$socket)
中使用mounted
钩子中的/pages/index.vue
,但是您也可以在选择root
组件后使用$vm0
并直接从devtools访问实例(也可以在屏幕快照中)。
对于env变量部分,可以在目录根目录下创建一个.env
文件,如下所示
WS_URL="wss://echo.websocket.org"
// nuxt.config.js
export default {
publicRuntimeConfig: {
wsUrl: process.env.WS_URL,
},
}
然后,像这样在插件中使用这个变量
import Vue from 'vue'
import JRPCWS from 'vue-json-rpc-websocket'
export default ({ $config: { wsUrl } }) => {
Vue.use(JRPCWS, wsUrl, {
reconnectEnabled: true,
reconnectInterval: 5000,
reconnectAttempts: 3
})
}
https://stackoverflow.com/questions/67327006
复制相似问题