Je reçois une erreur d'erreur de Vue.js à Nuxt.js.
J'essaie d'utiliser vue-session
dans node_modules
. Il compile avec succès, mais dans le navigateur, je vois l'erreur:
La fenêtre de référenceError n'est pas définie
node_modules\vue-session\index.js
:
VueSession.install = function(Vue, options) {
if (options && 'persist' in options && options.persist) STORAGE = window.localStorage;
else STORAGE = window.sessionStorage;
Vue.prototype.$session = {
flash: {
parent: function() {
return Vue.prototype.$session;
},
donc, j'ai suivi cette documentation :
rewardadd.vue
:
import VueSession from 'vue-session';
Vue.use(VueSession);
if (process.client) {
require('vue-session');
}
nuxt.config.js
:
build: {
vendor: ['vue-session'],
Mais je ne peux toujours pas résoudre ce problème.
Si vous avez essayé la plupart des réponses ici et que cela ne fonctionne pas, vérifiez cela, j'ai également eu le même problème lorsque vous utilisez PayStack un package de paiement. Donc, je vais utiliser les instances de l'OP
Créez un plugin avec .client.js
comme extension de sorte qu'il puisse être rendu sur le côté du client que dans le dossier Plugins Créer un fichier 'vue-session.client.js' qui est le plugin et mettez ceci
import Vue from 'vue'
import VueSession from 'vue-session'
//depending on what you need it for
Vue.use(VueSession)
// I needed mine as a component so I did something like this
Vue.component('vue-seesion',VueSession)
donc, dans nuxt.config.js, enregistrez le plugin en fonction de votre chemin de plug-in
plugins:[
...
{ src: '~/plugins/vue-session.client.js'},
...
]
Dans Index.Vue ou quelle que soit la page, vous souhaitez utiliser le package ... Importer le package sur monté, de sorte qu'il est disponible lorsque la page client monte ... export par défaut {...
mounted() {
if (process.client) {
const VueSession = () => import('vue-session')
}
}
...
}