{"id":55711,"date":"2022-11-07T12:04:35","date_gmt":"2022-11-07T11:04:35","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=55711&#038;post_type=knowledgebase&#038;preview_id=55711"},"modified":"2025-10-01T20:17:08","modified_gmt":"2025-10-01T19:17:08","slug":"inertia-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/","title":{"rendered":"Der ultimative Leitfaden zu Inertia.js"},"content":{"rendered":"<p>Single-Page-Applikationen (SPAs) sind zur modernen Art der Erstellung von Webanwendungen geworden, und Inertia.js ist ein f\u00fchrendes Tool, mit dem Entwickler SPAs sowohl mit clientseitigem als auch mit serverseitigem Rendering erstellen k\u00f6nnen.<\/p>\n<p>In diesem Artikel werden wir uns ansehen, wie Inertia die Erstellung von SPAs zu einem Kinderspiel macht und wie es viele andere Probleme f\u00fcr Entwickler l\u00f6st. Au\u00dferdem gehen wir auf die wichtigsten Funktionen des Tools ein.<\/p>\n<p>Doch bevor wir beginnen, m\u00fcssen wir zun\u00e4chst sicherstellen, dass wir verstehen, wie server- und clientseitige Anwendungen funktionieren.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Was ist Serverseitiges Rendering?<\/h2>\n<p>Serverseitiges Rendering (SSR) bedeutet, dass eine Anwendung Webseiteninhalte auf dem Server und nicht im Browser darstellen kann. Wenn ein\/e Nutzer\/in versucht, <strong>example.com<\/strong> zu besuchen, stellt der Browser eine Anfrage an den Server, um alle notwendigen Informationen f\u00fcr die Anzeige dieser speziellen Webseite zu erhalten, und der Server antwortet sofort, indem er dem Browser eine vollst\u00e4ndig gerenderte Seite liefert.<\/p>\n<p>Suchmaschinen greifen ein und indizieren die vom Server gelieferten Informationen, bevor sie den Browser erreichen; dies wird als Suchmaschinenoptimierung (SEO) bezeichnet. Der Browser l\u00f6st dann die JavaScript-Inhalte auf, und die Webseite wird dem Nutzer angezeigt.<\/p>\n<figure id=\"attachment_133545\" aria-describedby=\"caption-attachment-133545\" style=\"width: 950px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133545 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/server-side-rendering-diagram.png\" alt=\"Ein Diagramm, das die Phasen des serverseitigen Renderings zeigt.\" width=\"950\" height=\"500\"><figcaption id=\"caption-attachment-133545\" class=\"wp-caption-text\">Anzeige von Inhalten, die auf der Serverseite gerendert werden.<\/figcaption><\/figure>\n<p>Das Problem mit dem SSR-Ansatz ist, dass es lange dauert, bis eine vollst\u00e4ndig gerenderte Seite vom Server geladen ist, was kein angenehmes Nutzererlebnis bietet. Aus diesem Grund ziehen Entwickler\/innen SPAs und clientseitiges Rendering in Betracht.<\/p>\n\n<h2>Was ist Clientside Rendering?<\/h2>\n<p>Beim clientseitigen Rendering erh\u00e4lt der Browser alles, was er zum Rendern der Webseite braucht, von der Client-Seite, anstatt eine vollst\u00e4ndig gerenderte Seite vom Server zu erhalten. Wenn die Seite geladen ist, sendet der Browser keine weiteren Anfragen an den Server, wodurch das Surferlebnis extrem schnell wird.<\/p>\n<figure id=\"attachment_133546\" aria-describedby=\"caption-attachment-133546\" style=\"width: 950px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133546 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/client-side-rendering-diagram.png\" alt=\"Ein Diagramm, das die Phasen des clientseitigen Renderings zeigt.\" width=\"950\" height=\"500\"><figcaption id=\"caption-attachment-133546\" class=\"wp-caption-text\">Anzeige von Inhalten, die auf der Client-Seite gerendert werden.<\/figcaption><\/figure>\n<p>Das clientseitige Rendering hat zur Entwicklung von SPAs beigetragen und das Web revolutioniert. Du kannst eine Website erstellen, bei der die Seite nicht neu geladen werden muss, egal wie viele Links du anklickst. Das macht es f\u00fcr die Nutzer\/innen einfach, durch die Website zu navigieren.<\/p>\n<p>Obwohl SPAs fantastisch sind, birgt dieser Ansatz eine Menge Komplexit\u00e4t und Probleme, die wir heute behandeln werden. Inertia l\u00f6st die meisten dieser Probleme, indem es serverseitige Frameworks effektiv einsetzt. Es kombiniert die besten Eigenschaften von server- und clientseitigen Anwendungen.<\/p>\n<h2>Was ist Inertia.js?<\/h2>\n<p>Inertia ist kein <a href=\"https:\/\/kinsta.com\/de\/blog\/javascript-bibliotheken\/\">JavaScript-Framework<\/a>. Es handelt sich vielmehr um eine Strategie oder Technik zur Entwicklung von SPAs. Sie erm\u00f6glicht es dem Entwickler, aktuelle serverseitige Frameworks zu nutzen, um eine moderne SPA zu entwickeln, ohne die damit verbundene Komplexit\u00e4t.<\/p>\n<p>Inertia wurde entwickelt, um die Frameworks, die du bereits verwendest, zu erg\u00e4nzen und nicht zu ersetzen. Betrachte es als einen hilfreichen Verb\u00fcndeten, der dir hilft, Aufgaben schneller und effizienter zu erledigen. Es unterst\u00fctzt derzeit drei Frontend-Frameworks (Vue, React und Svelte) f\u00fcr das Rendering auf der Client-Seite und zwei Backend-Frameworks (Laravel und Rails) f\u00fcr das Rendering auf der Server-Seite.<\/p>\n<p>F\u00fcr die meisten <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-laravel\/\">Laravel-Entwicklerinnen und -Entwickler<\/a> ist Inertia eine der zuverl\u00e4ssigsten Techniken f\u00fcr den Aufbau von SPAs, da sie damit sowohl Frontend- als auch Backend-Frameworks verbinden k\u00f6nnen.<\/p>\n<h2>Wie funktioniert Inertia.js?<\/h2>\n<p>Inertia \u00e4hnelt dem Vue Router, da es dir erlaubt, zwischen Seiten zu wechseln, ohne die gesamte Seite neu laden zu m\u00fcssen. Allerdings arbeitet Inertia synchron mit deinem serverseitigen Framework. Dies ist mit <code>Link<\/code> m\u00f6glich, einem Wrapper f\u00fcr das Standard-Anker-Tag. Wenn ein <code>Link<\/code> angeklickt wird, f\u00e4ngt Inertia das Klickereignis ab und sendet eine XHR-Anfrage an den Server. Der Server erkennt, dass es sich um eine Inertia-Anfrage handelt und gibt eine JSON-Antwort zur\u00fcck. Diese Antwort enth\u00e4lt den Namen und die Daten der JavaScript-Komponente, woraufhin Inertia auf magische Weise nicht ben\u00f6tigte Komponenten entfernt und durch diejenigen ersetzt, die f\u00fcr den Besuch der neuen Seite erforderlich sind, und den Verlaufsstatus aktualisiert.<\/p>\n<h3>Ein tiefer Einblick in die Funktionsweise von Inertia.js<\/h3>\n<p>Wenn ein Besucher <strong>example.com<\/strong> zum ersten Mal besucht, f\u00fchrt der Browser eine normale Ganzseitenanfrage durch und der Server gibt eine vollst\u00e4ndige HTML-Antwort zur\u00fcck, als ob Inertia nicht existieren w\u00fcrde. Diese HTML-Antwort enth\u00e4lt alle Website-Assets (CSS, JavaScript), aber auch ein zus\u00e4tzliches Asset f\u00fcr Inertia, n\u00e4mlich das Stammverzeichnis <code>div<\/code> mit dem <code>data-page<\/code> -Attribut, das JSON-Daten f\u00fcr die Ausgangsseite enth\u00e4lt. Inertia nutzt diese JSON-Daten dann, um das Frontend-Framework zu starten und die Startseite anzuzeigen.<\/p>\n<figure id=\"attachment_133547\" aria-describedby=\"caption-attachment-133547\" style=\"width: 950px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133547 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/Inertia-visit-initial-page.png\" alt=\"Das Diagramm zeigt die Aktionen beim ersten Besuch einer Webseite, wenn du Inertia.js verwendest.\" width=\"950\" height=\"500\"><figcaption id=\"caption-attachment-133547\" class=\"wp-caption-text\">Inertia.js: Antwort auf den ersten Seitenbesuch.<\/figcaption><\/figure>\n<p>Sobald die App hochgefahren ist, wird jede Route, die der Nutzer innerhalb der gleichen Domain mit <code>Link<\/code> besucht, eine XHR-Anfrage mit dem <code>X-Inertia<\/code> Header sein. Dieser teilt dem Server mit, dass es sich um eine Inertia-Anfrage handelt.<\/p>\n<p>Die R\u00fcckmeldung erfolgt als JSON-Antwort mit dem Seiteninhalt und nicht als vollst\u00e4ndige HTML-Antwort wie beim ersten Besuch.<\/p>\n<figure id=\"attachment_133548\" aria-describedby=\"caption-attachment-133548\" style=\"width: 950px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133548 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/Inertia-visit-route-in-the-same-domain.png\" alt=\"Das Diagramm zeigt die Aktionen beim Zugriff auf andere Routen bei der Verwendung von Inertia.js.\" width=\"950\" height=\"500\"><figcaption id=\"caption-attachment-133548\" class=\"wp-caption-text\">Inertia.js: Nachfolgende Antwort auf den Besuch der Route.<\/figcaption><\/figure>\n<h2>Welche Probleme l\u00f6st Inertia.js?<\/h2>\n<p>Inertia l\u00f6st eine Vielzahl von Problemen f\u00fcr Webentwickler. Das Ziel bei der Entwicklung von Inertia war es, schnelle und effektive L\u00f6sungen f\u00fcr all die komplexen Probleme zu finden, die mit der Entwicklung einer SPA einhergehen.<\/p>\n<h3>SPA-Komplexit\u00e4t<\/h3>\n<p>Wenn Entwickler\/innen eine SPA ohne Inertia entwickeln w\u00fcrden, m\u00fcssten sie REST- oder GraphQL-APIs erstellen und diese mit einer Art Authentifizierungsmethode sch\u00fctzen, was unter anderem die Erstellung eines Frontend-Statusverwaltungssystems erfordern w\u00fcrde.<\/p>\n<p>Inertia wurde entwickelt, um Entwicklern dabei zu helfen, ihre serverseitigen Anwendungen, die vollst\u00e4ndig auf dem Backend-Server laufen, in eine einseitige JavaScript-Anwendung umzuwandeln, ohne dabei all die Komplexit\u00e4t zu durchlaufen, die mit der Entwicklung von SPAs verbunden ist.<\/p>\n<p>Die Erstellung einer SPA mit Inertia ist \u00e4hnlich wie die Erstellung einer serverseitig gerenderten Anwendung. Du erstellst Controller, f\u00fchrst Datenbankabfragen f\u00fcr die ben\u00f6tigten Daten durch und gibst die Ergebnisse dann an die Views zur\u00fcck.<\/p>\n<p>Der Schl\u00fcssel dazu ist, dass die Views JavaScript-Komponenten sind. Das bedeutet, dass du die Daten von deinem Server abrufst und Inertia dann mit dem Frontend-Framework zusammenarbeitet, um die Seite mit den Daten als JavaScript-Datei anzuzeigen, sodass keine APIs erstellt werden m\u00fcssen.<\/p>\n<h3>Authentifizierung<\/h3>\n<p>Da Inertia die Anwendung mit Daten und Antworten aus dem Backend f\u00fcttert, verwendet es einfach das Authentifizierungssystem, das du auf der Serverseite hast. Das bedeutet, dass du dich nicht um die clientseitige Authentifizierung k\u00fcmmern musst &#8211; du hast stattdessen ein sitzungsbasiertes Authentifizierungssystem, das mit deinem serverseitigen Authentifizierungssystem synchronisiert wird.<\/p>\n<h3>SEO-Bedenken<\/h3>\n<p>Wie bereits beim serverseitigen Rendering erl\u00e4utert, fangen Suchmaschinen die Serverantwort an den Browser ab, um den HTML-Inhalt der Webseite zu indizieren. Im Falle einer SPA werden Suchmaschinen es schwer haben, den Inhalt der Seite zu identifizieren, da der Server entweder mit JavaScript-Komponenten oder JSON-Daten antwortet.<\/p>\n<p>Inertia hat dieses Problem gel\u00f6st, indem es die <a href=\"https:\/\/inertiajs.com\/server-side-rendering\" target=\"_blank\" rel=\"noopener noreferrer\">Funktion des serverseitigen Renderings (SSR)<\/a> eingef\u00fchrt hat, die du zu deiner Anwendung hinzuf\u00fcgen kannst. Inertia nutzt die Node.js-Umgebung als Ausl\u00f6ser, um die JSON-Datenantwort in HTML umzuwandeln.<\/p>\n<p>Um das besser zu veranschaulichen, stell dir vor, dass Inertia zwischen dem Server und dem Browser sitzt und beobachtet. Wenn der Server eine Inertia-Anfrage erh\u00e4lt und eine JSON-Antwort zur\u00fcckschickt, erkennt Inertia die Existenz eines Node.js-Servers, wandelt die JSON-Antwort in HTML um und schickt sie zur\u00fcck, so dass Suchmaschinen die Seite indizieren k\u00f6nnen, als ob die App keine SPA w\u00e4re.<\/p>\n<p>Inertia bietet auch eine <code>Head<\/code> Komponente, mit der du einen Titel und Metadaten zu deiner Seite hinzuf\u00fcgen kannst:<\/p>\n<pre><code class=\"language-html\">\n&lt;script setup&gt;\nimport { Head } from '@inertiajs\/inertia-vue3'\n&lt;\/script&gt;\n\n&lt;template&gt;\n  &lt;Head&gt;\n    &lt;title&gt;Page Title&lt;\/title&gt;\n    &lt;meta name=\"description\" content=\"Page Description&quot \/&gt;\n  &lt;\/Head&gt;\n&lt;\/template&gt;\n<\/code><\/pre>\n<p>Hier ist ein weiteres Beispiel aus der <a href=\"https:\/\/inertiajs.com\/title-and-meta\">Online-Dokumentation von Inertia<\/a>:<\/p>\n<pre><code class=\"language-html\">\n\/\/ Layout.vue\n\nimport { Head } from '@inertiajs\/inertia-vue3'\n\n&lt;Head&gt;\n  &lt;title&gt;My app&lt;\/title&gt;\n  &lt;meta head-key=\"description\" name=\"description\" content=\"This is the default description\" \/&gt;\n  &lt;link rel=\"icon\" type=\"image\/svg+xml\" href=\"\/favicon.svg\" \/&gt;\n&lt;\/Head&gt;\n\n\/\/ About.vue\n\nimport { Head } from '@inertiajs\/inertia-vue3'\n\n&lt;Head&gt;\n  &lt;title&gt;About - My app&lt;\/title&gt;\n  &lt;meta head-key=\"description\" name=\"description\" content=\"This is a page specific description\" \/&gt;\n&lt;\/Head&gt;\n<\/code><\/pre>\n<h3>Formulare und Form Helper<\/h3>\n<p>Es ist m\u00f6glich, mit Inertia eine Standardformularanfrage zu stellen. Dabei wird jedoch eine ganze Seite aktualisiert.<\/p>\n<p>Inertia erm\u00f6glicht es den Nutzern, Formularanfragen mit Inertia zu stellen, wodurch die Seite nicht mehr aktualisiert werden muss. Sobald das Formular mit Inertia abgeschickt wurde, wird es serverseitig verarbeitet, so dass du den Nutzer wieder auf dieselbe Seite (oder eine ganz andere Seite) zur\u00fcckleiten kannst.<\/p>\n<p>Inertia macht uns das Leben bei der Erstellung und \u00dcbermittlung von Formularen leichter. Hier ist ein Beispiel daf\u00fcr, wie du es mit der Vue.js 3 Composition API verwenden kannst:<\/p>\n<pre><code class=\"language-html\">\n&lt;script setup&gt;\n  import { useForm } from \"@inertiajs\/inertia-vue3\";\n\n  const form = useForm({\n    email: null,\n    password: null,\n  });\n&lt;\/script&gt;\n\n&lt;template&gt;\n  &lt;form @submit.prevent=\"form.post('kinsta\/login')\"&gt;\n    <!-- email -->\n    &lt;input type=\"text\" v-model=\"form.email\" \/&gt;\n    <!-- password -->\n    &lt;input type=\"password\" v-model=\"form.password\" \/&gt;\n    <!-- submit -->\n    &lt;button type=\"submit\"&gt;Login&lt;\/button&gt;\n  &lt;\/form&gt;\n&lt;\/template&gt;\n<\/code><\/pre>\n<p>Du kannst das Formular mit <code>GET<\/code>, <code>POST<\/code>, <code>PUT<\/code>, <code>PATCH<\/code> und <code>DELETE<\/code> abschicken.<\/p>\n<pre><code class=\"language-html\">\n&lt;script setup&gt;\n  import { useForm } from \"@inertiajs\/inertia-vue3\";\n\n  const form = useForm({\n    email: null,\n    password: null,\n  });\n\n  const submit = () =&gt; {\n    form.post(\"kinsta\/login\");\n  };\n&lt;\/script&gt;\n\n&lt;template&gt;\n  &lt;form @submit.prevent=\"submit()\"&gt;\n    <!-- email -->\n    &lt;input type=\"text\" v-model=\"form.email\" \/&gt;\n    <!-- password -->\n    &lt;input type=\"password\" v-model=\"form.password\" \/&gt;\n    <!-- submit -->\n    &lt;button type=\"submit\"&gt;Login&lt;\/button&gt;\n  &lt;\/form&gt;\n&lt;\/template&gt;\n<\/code><\/pre>\n<p>Die Formularhilfe von Inertia bietet auch einige hilfreiche Eigenschaften, wie z. B. die Eigenschaft <code>processing<\/code>, die sich in <code>true<\/code> verwandelt, sobald das Formular verarbeitet wird. Damit kannst du die Schaltfl\u00e4chen zum Absenden deaktivieren, w\u00e4hrend das Formular verarbeitet wird, um Mehrfach\u00fcbermittlungen zu verhindern:<\/p>\n<pre><code class=\"language-html\">\n&lt;button type=\"submit\" :disabled=\"form.processing\"&gt;Submit&lt;\/button&gt;\n<\/code><\/pre>\n<p>Du kannst auch <code>preserveState<\/code>, <code>preserveScroll<\/code> und Event-Callbacks mit dem Formular verwenden, die hilfreich sind, wenn du dem Formular zus\u00e4tzliche Optionen hinzuf\u00fcgst:<\/p>\n<pre><code class=\"language-js\">\nform.post('kinsta\/login, {\n  preserveScroll: true,\n  onSuccess: () =&gt; form.reset('password'),\n})\n<\/code><\/pre>\n<h3>Den Status mit Inertia.js speichern<\/h3>\n<p>Angenommen, ein Nutzer f\u00fcllt ein Formular auf deiner Website aus und beschlie\u00dft, zu einer anderen Seite zu navigieren, bevor er es absendet. Wenn er auf die Formularseite zur\u00fcckkehrt, werden die Eingaben des Nutzers zur\u00fcckgesetzt.<\/p>\n<p>Zum Gl\u00fcck gibt es in Inertia die Funktion <code>useRemember<\/code>, mit der du die Formulareingaben des Nutzers im Verlaufsstatus speichern und bei der Navigation im Verlauf wiederherstellen kannst.<\/p>\n<p>Du kannst diese Funktion nutzen, indem du sie aus Inertia importierst und auf dein Formular anwendest:<\/p>\n<pre><code class=\"language-js\">\nimport { useRemember } from '@inertiajs\/inertia-vue3'\n\nexport default {\n  setup() {\n    const form = useRemember({\n        first_name: null,\n        last_name: null,\n    })\n\n    return { form }\n  },\n}\n<\/code><\/pre>\n<p>Wenn du eine Seite mit vielen Formularen hast, die die Funktion <code>useRemember<\/code> nutzen, muss jede Komponente einen eindeutigen Schl\u00fcssel haben, damit Inertia wei\u00df, welche Daten in jeder Komponente wiederhergestellt werden m\u00fcssen:<\/p>\n<pre><code class=\"language-js\">\nconst form = useRemember({\n        first_name: null,\n        last_name: null,\n    }, 'Users\/Create')\n<\/code><\/pre>\n<p>Wir brauchen die Funktion <code>useRemember<\/code> nicht zu verwenden, wenn wir die Formularhilfe von Inertia nutzen. Inertia merkt sich den Status der Formulareingabe automatisch, so dass wir nur einen eindeutigen Bezeichner angeben m\u00fcssen:<\/p>\n<pre><code class=\"language-js\">\nimport { useForm } from '@inertiajs\/inertia-vue3'\n\nconst form = useForm('CreateUser', data)\n<\/code><\/pre>\n<p>Das Sch\u00f6ne an dieser Funktion ist, dass du dir alle Daten in deiner Anwendung manuell merken kannst. Dies kann auch n\u00fctzlich sein, um Daten von einer tief verschachtelten Komponente an die Hauptkomponente weiterzugeben:<\/p>\n<pre><code class=\"language-js\">\nimport { Inertia } from '@inertiajs\/inertia'\n\n\/\/ DeeplyNestedComponent.vue\nInertia.remember(data, 'my-key')\n\n\/\/ MainComponent.vue\nlet data = Inertia.restore('my-key')\n<\/code><\/pre>\n<h3>Dateiuploads<\/h3>\n<p>Inertia erkennt, ob das Formular Dateien enth\u00e4lt und wandelt in diesem Fall die Anfragedaten in das <code>formData<\/code> Objekt um, das immer ben\u00f6tigt wird. Wenn du also ein Formular hast, das einen Namen und einen Avatar enth\u00e4lt, wird Inertia das Formular als <code>multipart\/form-data<\/code> behandeln.<\/p>\n<h3>Validierung und Fehler<\/h3>\n<p>Wenn ein Benutzer ein Formular mit falschen Werten absendet und es zur Validierung an den Server geschickt wird, kehrt der Benutzer mit einem Blitz von Validierungsfehlern in der Sitzung zur Formularseite zur\u00fcck. Inertia f\u00e4ngt Fehler aus der Sitzung ab und speichert sie als Seitenrequisiten.<\/p>\n<p>Da Requisiten reaktiv sind, erscheinen sie, wenn die Formular\u00fcbermittlung abgeschlossen ist. Damit Inertia das Vorhandensein von Fehlern erkennen kann, beh\u00e4lt es <code>page.props.errors<\/code> im Auge.<\/p>\n<p>Sobald es Fehler gefunden hat, liefert es einen <code>onError()<\/code> Callback anstelle von <code>onSuccess()<\/code>.<\/p>\n<p>Hier ist ein Beispiel mit Vue 3, das dir hilft, das Konzept zu verstehen:<\/p>\n<pre><code class=\"language-js\">\nconst submit = () =&gt; {\n    form.post(\"kinsta\/login\", {\n        onError: () =&gt; {\n            return \"Hi! , the server returned an error and Inertia saved it as a prop. Do as you like with me\"\n        },\n        onSuccess: () =&gt; {\n            return \"Wohoo!!\"\n        }\n    }\n    );\n  };\n<\/code><\/pre>\n<p>Die Anzeige von Fehlern ist so einfach, wie sie als Requisiten zu definieren und bedingt in deinem HTML anzuzeigen:<\/p>\n<pre><code class=\"language-html\">\n&lt;script setup&gt;\n  defineProps({\n    errors: Object,\n  });\n\n\/\/\n&lt;\/script&gt;\n\n&lt;template&gt;\n  &lt;form @submit.prevent=\"submit()\"&gt;\n    \/\/\n    &lt;div v-if=\"errors.email\"&gt;{{ errors.email }}&lt;\/div&gt;\n  &lt;\/form&gt;\n&lt;\/template&gt;\n<\/code><\/pre>\n<p>Wenn du Inertia verwendest, brauchst du dir keine Gedanken \u00fcber alte Eingabedaten im Falle von Fehlern zu machen. Sobald Inertia erkennt, dass der Nutzer auf die Seite mit den Fehlern weitergeleitet wurde, beh\u00e4lt es automatisch den alten Zustand der Komponente f\u00fcr <code>POST<\/code>, <code>PUT<\/code>, <code>PATCH<\/code> und <code>DELETE<\/code> bei.<\/p>\n<h3>Partielle Reloads mit Inertia.js<\/h3>\n<p>Die partielle Reload-Funktion von Inertia ist einfach hervorragend, da sie nur eine ausgew\u00e4hlte Komponente auf der Seite neu l\u00e4dt, anstatt den gesamten Datensatz erneut vom Server zu holen. Das hebt die Optimierung deiner Anwendung auf die n\u00e4chste Stufe. Du kannst auch den folgenden Link besuchen, um mehr dar\u00fcber zu erfahren, wie du die <a href=\"https:\/\/kinsta.com\/de\/blog\/laravel-leistung\/\">Leistung deiner Laravel-Anwendung optimierst<\/a>.<\/p>\n<p>Teilweise Neuladungen k\u00f6nnen mit der Eigenschaft <code>only<\/code> von Inertia durchgef\u00fchrt werden:<\/p>\n<pre><code class=\"language-js\">\nimport { Inertia } from '@inertiajs\/inertia'\n\nInertia.visit(url, {\n  only: ['users'],\n})\n<\/code><\/pre>\n<h3>Externe Weiterleitungen mit Inertia.js<\/h3>\n<p>Das Subdomain-Routing oder die externe Weiterleitung ist eine der frustrierendsten Herausforderungen bei SPAs. Es ist unvern\u00fcnftig zu erwarten, dass deine Anwendung eine Single-Page-Anwendung bleibt, w\u00e4hrend sie gleichzeitig eine andere Domain besucht.<\/p>\n<p>Es kann notwendig sein, eine Inertia-Anfrage auf eine externe Website oder sogar auf einen anderen Endpunkt in deiner Anwendung umzuleiten, der nicht zu Inertia geh\u00f6rt. Dies ist durch einen serverseitig initiierten <code>window.location<\/code> Besuch m\u00f6glich:<\/p>\n<pre><code class=\"language-php\">\nreturn Inertia::location($url);\n<\/code><\/pre>\n<p>Wenn du beim Testen die Konsole \u00f6ffnest, wirst du feststellen, dass sie <code>409 conflict<\/code> zur\u00fcckgibt. Diese Antwort enth\u00e4lt die URL im <code>X-Inertia-Location<\/code> Header, die Inertia auf der Client-Seite erkennt und den Besuch automatisch durchf\u00fchrt.<\/p>\n<h2>Wie man mit Inertia.js arbeitet<\/h2>\n<p>Die Arbeit mit Inertia ist \u00e4hnlich wie die Arbeit an einer serverseitigen Anwendung, mit dem Unterschied, dass es sich um eine vollst\u00e4ndig reaktive Single-Page-Anwendung handelt. Du solltest in der Lage sein, deine Routes zu definieren, Controller anzupassen und eine View zur\u00fcckzugeben, die Inertia an dein Frontend-Framework sendet.<\/p>\n<h3>Laravel-Routen und Inertia.js<\/h3>\n<p>Laravel-Routing ist etwas, auf das du bei der Entwicklung deiner Anwendung nicht verzichten solltest. Es erm\u00f6glicht dir, schnell die komplexesten Routen zu erstellen, und es gibt viele <a href=\"https:\/\/kinsta.com\/de\/blog\/laravel-tutorial\/\">kostenlose und kostenpflichtige Laravel-Ressourcen<\/a>, mit denen du mehr \u00fcber Laravel und die Funktionsweise von Routing lernen kannst.<\/p>\n<p>Das Sch\u00f6ne daran ist, dass du keinen Vue Router oder React Router brauchst, um einfaches Client-seitiges Routing durchzuf\u00fchren, denn Inertia hat sein eigenes Routing-System, das mit Laravel-Routing funktioniert. Wenn der Job keine Backend-Daten ben\u00f6tigt, kannst du den Router-Helper verwenden, um direkt zu einer Komponente zu routen.<\/p>\n<pre><code class=\"language-php\">\nRoute::inertia('\/home', 'HomeComponent');\n<\/code><\/pre>\n<pre><code class=\"language-php\">\npublic function index()\n    {\n    return Inertia::render('Users\/Index', [\n        'users' =&gt; User::all();\n        'create_url' =&gt; URL::route('users.create'),\n    ]);\n}\n<\/code><\/pre>\n<p>Bevor wir weitermachen, m\u00f6chten wir dir <a href=\"https:\/\/kinsta.com\/de\/devkinsta\/\">DevKinsta<\/a> vorstellen, ein leistungsstarkes Tool f\u00fcr Entwickler, Designer und Agenturen, mit dem sie ein- und mehrseitige WordPress-Webanwendungen erstellen k\u00f6nnen. Gl\u00fccklicherweise kann WordPress mit dem <a href=\"https:\/\/github.com\/corcel\/corcel\" target=\"_blank\" rel=\"noopener noreferrer\">Corcel-Paket<\/a> in Laravel integriert werden. Wenn du eine Laravel-App mit WordPress-Integration entwickelst, solltest du dir das <a href=\"https:\/\/kinsta.com\/de\/apm-tool\/\">Kinsta APM-Tool<\/a> f\u00fcr eine hervorragende Leistungs\u00fcberwachung ansehen.<\/p>\n<h3>Umleitungen<\/h3>\n<p>Du solltest den Nutzer immer auf den richtigen Pfad umleiten, der der urspr\u00fcnglichen Anfrage entspricht. Wenn ein Nutzer z. B. den Endpunkt <code>store<\/code> ansteuert, um einen Beitrag einzureichen, solltest du den Kunden zum Endpunkt <code>GET<\/code> umleiten, vielleicht zur Beitragsroute.<\/p>\n<pre><code class=\"language-php\">\npublic function store()\n{\n    Post::create(\n        Request::validate([\n            'title' =&gt; ['required'],\n            'body' =&gt; ['required'],\n        ])\n    );\n\n    \/\/ redirect the user to the posts show page\n    return Redirect::route('posts.show');\n}\n<\/code><\/pre>\n<h2>Nachteile der Verwendung von Inertia.js<\/h2>\n<p>Bisher haben wir uns auf die verschiedenen Vorteile von Inertia konzentriert. Doch wie jedes andere Tool hat auch Inertia Nachteile.<\/p>\n<ul>\n<li>Der Nutzer muss \u00fcber Grundkenntnisse in Vue oder React verf\u00fcgen.<\/li>\n<li>Da die Modelldaten vollst\u00e4ndig an die Client-Seite \u00fcbergeben werden k\u00f6nnen, muss der Benutzer sicherstellen, dass die relevanten Daten explizit an das Frontend zur\u00fcckgegeben werden.<\/li>\n<li>APIs m\u00fcssen neu erstellt werden, wenn die Webanwendung irgendwann einmal eine Android- oder iOS-Anwendung haben soll.<\/li>\n<\/ul>\n<h2>Solltest du Inertia.js verwenden?<\/h2>\n<p>Um die Frage zu beantworten, ob du Inertia verwenden solltest oder nicht, lautet die Antwort: Ja, wenn du eine einseitige, serverseitige, SEO-gesteuerte moderne App erstellen willst.<\/p>\n<p>Du kannst mehr erfahren, indem du die <a href=\"https:\/\/inertiajs.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">offizielle Inertia.js-Website<\/a> besuchst und die Dokumentation liest.<\/p>\n\n<h2>Zusammenfassung<\/h2>\n<p>Client-seitige Anwendungen und SPAs werden immer beliebter, da sich die Webtechnologien weiterentwickeln, w\u00e4hrend traditionelle serverseitige Anwendungen auf der Strecke bleiben. Mehr als je zuvor ist es wichtig, die richtigen Werkzeuge zur Hand zu haben.<\/p>\n<p>Inertia ist ein fantastischer moderner Ansatz oder eine L\u00f6sung f\u00fcr serverseitige Entwickler, um Single-Page-Anwendungen zu erstellen. Es l\u00f6st so viele Probleme und spart so viel Zeit.<\/p>\n<p>Wie wir in unserem Artikel besprochen haben, unterst\u00fctzt Inertia jetzt das serverseitige Rendering, was es auf eine ganz neue Ebene bringt, indem es Entwicklern erm\u00f6glicht, SEO-gesteuerte SPAs zu erstellen.<\/p>\n<p>Inertia erh\u00e4lt auch viel Zuspruch von der Community. Die Entwicklungsarbeit wird von Laravel Forge, Laracasts und einer Reihe anderer Organisationen unterst\u00fctzt. Damit ist Inertia ein zuverl\u00e4ssiges Tool, das auch in Zukunft f\u00fcr <a href=\"https:\/\/kinsta.com\/de\/blog\/laravel-entwickler\/\">Laravel-Entwickler\/innen<\/a> verbessert und gepflegt wird, zumal die <a href=\"https:\/\/kinsta.com\/de\/blog\/laravel-entwickler-gehalt\/\">Nachfrage nach Laravel-Programmierer\/innen<\/a> weiter steigt.<\/p>\n<p>Wenn du auf der Suche nach einem neuen Zuhause f\u00fcr dein Intertia-Projekt bist, solltest du dir die <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Application Hosting-Angebote<\/a> von Kinsta ansehen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Single-Page-Applikationen (SPAs) sind zur modernen Art der Erstellung von Webanwendungen geworden, und Inertia.js ist ein f\u00fchrendes Tool, mit dem Entwickler SPAs sowohl mit clientseitigem als auch &#8230;<\/p>\n","protected":false},"author":266,"featured_media":55874,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[873,465,466,276],"topic":[952],"class_list":["post-55711","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-inertia-js","tag-javascript","tag-node-js","tag-web-development","topic-javascript-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Der ultimative Leitfaden zu Inertia.js<\/title>\n<meta name=\"description\" content=\"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Der ultimative Leitfaden zu Inertia.js\" \/>\n<meta property=\"og:description\" content=\"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-07T11:04:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:17:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Mostafa Said\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mostafa Said\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\"},\"author\":{\"name\":\"Mostafa Said\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/e96baff25a5ee7e63a525f9557f79996\"},\"headline\":\"Der ultimative Leitfaden zu Inertia.js\",\"datePublished\":\"2022-11-07T11:04:35+00:00\",\"dateModified\":\"2025-10-01T19:17:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\"},\"wordCount\":2643,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\",\"keywords\":[\"inertia.js\",\"JavaScript\",\"node.js\",\"web development\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\",\"name\":\"Der ultimative Leitfaden zu Inertia.js\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\",\"datePublished\":\"2022-11-07T11:04:35+00:00\",\"dateModified\":\"2025-10-01T19:17:08+00:00\",\"description\":\"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"Der ultimative Leitfaden zu Inertia.js\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript-Tutorials\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/javascript-tutorials\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Der ultimative Leitfaden zu Inertia.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/e96baff25a5ee7e63a525f9557f79996\",\"name\":\"Mostafa Said\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/96bb303b019e8ddbdbaea885a36fee51?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/96bb303b019e8ddbdbaea885a36fee51?s=96&d=mm&r=g\",\"caption\":\"Mostafa Said\"},\"description\":\"I\u2019m Mostafa, a full-stack developer with a knack for all things Laravel, Inertia, and JavaScript frameworks. When I'm not coding, you can find me sharing my knowledge through tutorials, diving into hackathons (and winning a few), and spreading the love for tech by teaching what I've learned.\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/mostafasaid\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Der ultimative Leitfaden zu Inertia.js","description":"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/","og_locale":"de_DE","og_type":"article","og_title":"Der ultimative Leitfaden zu Inertia.js","og_description":"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.","og_url":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2022-11-07T11:04:35+00:00","article_modified_time":"2025-10-01T19:17:08+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","type":"image\/jpeg"}],"author":"Mostafa Said","twitter_card":"summary_large_image","twitter_description":"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","twitter_creator":"@Kinsta_DE","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Mostafa Said","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/"},"author":{"name":"Mostafa Said","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/e96baff25a5ee7e63a525f9557f79996"},"headline":"Der ultimative Leitfaden zu Inertia.js","datePublished":"2022-11-07T11:04:35+00:00","dateModified":"2025-10-01T19:17:08+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/"},"wordCount":2643,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","keywords":["inertia.js","JavaScript","node.js","web development"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/inertia-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/","url":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/","name":"Der ultimative Leitfaden zu Inertia.js","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","datePublished":"2022-11-07T11:04:35+00:00","dateModified":"2025-10-01T19:17:08+00:00","description":"Ein Blick darauf, wie Inertia.js das Erstellen von Single-Page-Anwendungen zu einem Kinderspiel macht und gleichzeitig andere Probleme f\u00fcr Entwickler l\u00f6st.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/inertia-js\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2022\/11\/inertia-js.jpeg","width":1460,"height":730,"caption":"Der ultimative Leitfaden zu Inertia.js"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/inertia-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"JavaScript-Tutorials","item":"https:\/\/kinsta.com\/de\/thema\/javascript-tutorials\/"},{"@type":"ListItem","position":3,"name":"Der ultimative Leitfaden zu Inertia.js"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/e96baff25a5ee7e63a525f9557f79996","name":"Mostafa Said","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/96bb303b019e8ddbdbaea885a36fee51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/96bb303b019e8ddbdbaea885a36fee51?s=96&d=mm&r=g","caption":"Mostafa Said"},"description":"I\u2019m Mostafa, a full-stack developer with a knack for all things Laravel, Inertia, and JavaScript frameworks. When I'm not coding, you can find me sharing my knowledge through tutorials, diving into hackathons (and winning a few), and spreading the love for tech by teaching what I've learned.","url":"https:\/\/kinsta.com\/de\/blog\/author\/mostafasaid\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/55711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/266"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=55711"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/55711\/revisions"}],"predecessor-version":[{"id":61635,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/55711\/revisions\/61635"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/translations\/dk"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/55711\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/55874"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=55711"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=55711"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=55711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}