Nuxt想要增加自己的plugins既没有反应也不报错

_usw
  • 2.3k

问题描述

按照官网文档上的方式在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挂一下就完事了。不知道有没有实践过这一块的

回复
阅读 2.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏