Error Plugin

Ett Vue-plugin som visar en generell felsida då ett ohanterat fel uppstår.

Usage

Skapa en komponent som wrappar din applikationskomponent:

-import { createApp } from "vue";
+import { createApp, markRaw } from "vue";
+import { ErrorPlugin, FErrorHandlingApp } from "@fkui/vue";

+const ErrorHandlingApp = defineComponent({
+    render() {
+        return h(FErrorHandlingApp, {
+            defaultComponent: markRaw(MyAwesomeApp),
+        });
+    },
+});

-const app = createApp(MyAwesomeApp);
+const app = createApp(ErrorHandlingApp);
 app.mount("#app");

Anropa app.use(ErrorPlugin) innan applikationen monteras:

 const app = createApp(ErrorHandlingApp);
+app.use(ErrorPlugin);
 app.mount("#app");

Egen felsida

Det går att sätta sin egen specifika felsida.

 const ErrorHandlingApp = defineComponent({
     render() {
         return h(FErrorHandlingApp, {
             defaultComponent: markRaw(MyAwesomeApp),
+            errorComponent: markRaw(MyApplicationErrorPage),
         });
     },
 });

Ett enkelt sätt för att komma igång med en applikationsspecifik sida är att kopiera FErrorPage.vue i detta repo.

Exempel

Prova att kasta ett ohanterat fel:

Axios-fel mm hanteras om man har kodat på följande vis:

async function bliFel() {
    await axios.get("http://hej");
    // alternativt return axios.get('http://hej');
}

Om man däremot har kodat felaktigt, enligt nedanstående exempel, kommer exceptions inte att fångas av denna plugin.

function bliFel() {
    axios.get("http://hej");
}

Options

Plugin tar ett optional objekt med inställningar:

app.use(ErrorPlugin, {
    captureWarnings: true,
    logToConsole: true,
});

captureWarnings

  • type: boolean
  • default: true

Om true så hanteras varningar som fel i utvecklarläge.

logToConsole

  • type: boolean
  • default: true

Om true så loggas fel till console (så som det normallt set blir när ErrorPlugin eller en annan errorHandler installerats)

Esc för att stänga Pil upp/ner för att navigera Enter för att välja