问题描述
按照官网文档上的方式在plugins目录下增加一个test.js,我只是想把一个自己封装过的websocket实例挂到Vue.prototype方便组件直接使用。nuxt.config.js也是按照文档进行配置,但是整个test.js都没有执行
问题出现的环境背景及自己尝试过哪些方法
官网给出的i18的例子是可行的,如果将test.js中的工作完全挪到和i18一个js中,it works!单独写一个test.js就怎么都不行,也不会报错
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// plugins/test.js
import Vue from "vue"
console.log("websocket");
class WebsocketProvider {
constructor(url) {
this.url = url;
console.log(url);
this._connect();
}
_connect() {
console.log("websocket connect")
}
ping() {
console.log("pong")
}
static install(Vue, options) {
Vue.prototype.$websocket = new WebsocketProvider(123);
}
}
Vue.use(WebsocketProvider);
以上只是一个简单的例子,其中console.log都没有执行,无论服务端还是客户端都没有
// nuxt.config.js
...
plugins: [
{src: '~/plugins/test.js', ssr: false}
],
...
你期待的结果是什么?实际看到的错误信息又是什么?
test.js中的代码可以认为是完全没有执行,后端控制台和前端控制台都没有任何相关错误日志,组件中this.$websocket直接undefined,证明确实没有挂上。完全是按照官方的教程上进行使用的,为了完全按照标准来,甚至改成了Vue.use的模式,本来就Vue.prototype挂一下就完事了。不知道有没有实践过这一块的