Vue.js instance.vue中未定义插件

Vue.js instance.vue中未定义插件,vue.js,plugins,nuxt.js,Vue.js,Plugins,Nuxt.js,我很难在Nuxt.js中添加插件。我一直在寻找文档和所有类似的问题,但我得到了相同的错误:simpleParallax未定义 我在所有文件上尝试了不同的方法 numxt.config.js: 插件:[ {src:'~/plugins/simple parallax.js',模式:'client',ssr:false} ], plugins/simple parallax.js: 从“Vue”导入Vue; 从“简单视差js”导入SimpleParalax; Vue.use(新的SimplePar

我很难在Nuxt.js中添加插件。我一直在寻找文档和所有类似的问题,但我得到了相同的错误:
simpleParallax未定义

我在所有文件上尝试了不同的方法

numxt.config.js

插件:[
{src:'~/plugins/simple parallax.js',模式:'client',ssr:false}
],
plugins/simple parallax.js

从“Vue”导入Vue;
从“简单视差js”导入SimpleParalax;
Vue.use(新的SimpleParalax);
index.vue

导出默认值{
插件:['@/plugins/simple parallax.js'],
安装的(){
var image=document.getElementsByClassName('hero');
新的SimpleParalax(图像{
比例:1.8
});
}
}
错误消息:

ReferenceError:未定义SimpleParlax


实际上你不需要在这里使用插件。 只需
从组件中的“simple parallax js”
导入simpleParallax,并在
挂载的
钩子中使用图像初始化它

index.vue

从“简单视差js”导入SimpleParalax
导出默认值{
...
安装的(){
//确保此操作仅在客户端运行
if(process.client){
var image=document.getElementsByClassName('缩略图')
新的SimpleParalax(图像)
}
},
...
}

不要忘了删除以前创建的插件,它在这里是多余的。

到目前为止,我找到的最好的解决方案是在Vue
prototype
上注册
simpleParallax
,就像这样,在名为
simple parallax.client.js
的插件nuxt文件中注册:

从“Vue”导入Vue;
从“简单视差js”导入SimpleParalax;
Vue.prototype.$simpleParallax=simpleParallax;
还有我的
numxt.config.js
文件,如果有人想验证:

插件:[
{src:'~/plugins/simple parallax.client.js',模式:'client',ssr:false}
],
然后,在实例化之前,我可以在主组件或根组件的
mounted
生命周期中访问插件,以获取所需的HTML元素,并使用新添加的全局方法
this.$simpleParallax

例如,我可以初始化某个HTML元素,使其视差如下所示:

const someHTMLElement=document.querySelectorAll('.myhtml元素');
const options={…}//所需的视差选项
新增此项。$SimpleParalAX(某些HtmlElement,选项);

谢谢,但当我这样做时,我会得到“窗口不是从插件本身定义的”…://@KelligJourdren,哦,当然,我忘记了SSR。我已经更新了答案:)@KelligJourdren那么你是如何解决这个问题的,你是将它注册为插件还是做了其他事情?