6
votes

Vuejs 2 ne signale aucune erreur (Sentry.io)

J'ai une application Laravel (5.4) avec Vuejs2 (2.1.10). J'utilise Sentry.io comme signification des erreurs pour notre backend qui fonctionne bien. Lorsqu'une erreur s'est produite de Vuejs, je suis incapable de l'attraper, ni de l'envoyer à Sentry.

Voici la documentation que j'ai utilisée pour installer Sentry via NPM en fonction des paramètres de corbeau: https://docs.senterry.io/client/javascript/integrations/vue/ p>

My config Dans App.js est le suivant: P>

import Raven from 'raven-js';
import RavenVue from 'raven-js/plugins/vue';
Raven
    .config('https://[filtered]@sentry.io/[filtered]')
    .addPlugin(RavenVue, Vue)
    .install();


4 commentaires

Cela signale-t-il des erreurs dans le développement?


Ensuite, seule l'indication d'erreurs est située dans la console de développeur JavaScript dans mon navigateur (Chrome). Je n'ai trouvé aucun autre moyen d'attraper une erreur de mon code. Vue.config.errorhandler = fonction (err, vm) {// gérer l'erreur} ne fait rien


Salut Polder, je suis Eric de Sentry. C'est un peu difficile de résoudre ces problèmes sans plus de contexte. Cela vous dérangerait-il d'écrire dans support@sentry.io et citez cette question? De cette façon, nous pouvons également mettre à jour cette question une fois que nous avons résolu votre problème.


J'ai le même problème. Les mises à jour?


3 Réponses :


0
votes

Je viens de commencer avec sentinelle et j'ai le même problème. La seule solution de contournement que j'ai trouvée jusqu'à présent est d'inclure Raven dans chaque composant et d'appeler Raven explicitement lorsqu'une erreur survient (plus votre code pour l'application / Main.js):

myComponent.vue p>

<template>
  <a href="#" @click="createError">Click me</a>
</template>

<script>
import Raven from 'raven-js'

export default {
  name: 'MyComponent',
  data () {
    return {
      loggedIn: false
    }
  }
  methods: {
    createError () {
      try {
        if (!this.loggedIn) throw new Error('User not logged in')
        console.log('User is logged in')
      } catch (error) {
        Raven.captureException(error)
      }
    }
  }
}
</script>

<style scoped>
</style>


0 commentaires

0
votes

Ceci peut être causé par votre fichier JavaScript n'est pas la même origine avec votre fichier HTML. Dans cette condition, toutes les erreurs JavaScript sont attrapées en tant que «Erreur de script», «Erreur de script» sont parfois également appelées erreur d'origine croisée. Et erreur javascript rejeter error / ^ script \.? $ / et / ^ javascript erreur: erreur de script \.? sur la ligne 0 $ / .

ci-dessous est le code relatif sentiné

// "Erreur de script." est codé dur dans les navigateurs pour des erreurs qu'il ne peut pas lire. // Ceci est le résultat d'un script étant tiré d'un domaine externe et de cors. globaloption.ignoreerrors.push (/ ^ Erreur de script \.? $ /); GlobalOption.ignoreErrors.Push (/ ^ JavaScript Erreur: Erreur de script \.? On Line 0 $ /);

Un autre conditon:

Vous pouvez utiliser VUE-CLI-SERVICE, qui utilise par défaut WebPack DevTool: Eval Configuration, cette cause des bugs chromés: https://bugs.chromium.org/p/chromium/issues/detail?id=765909


0 commentaires

0
votes

Essayez ceci

​​main.js xxx


0 commentaires