Tuvix.js mountet Micro Apps in React, Vue, Svelte, Angular und Vanilla JS in eine Host-Seite. Routing, ein Event Bus, Sandboxing und Server-Rendering kommen als separate Pakete, die du hinzufügst, wenn du sie brauchst.
npx create-tuvix-appimport { createOrchestrator } from 'tuvix.js';const orchestrator = createOrchestrator({ router: { mode: 'history', routes: [ { path: '/dashboard/*', app: 'dashboard' }, { path: '/settings/*', app: 'settings' }, ], },});orchestrator.register({ name: 'dashboard', entry: 'https://cdn.example.com/dashboard/main.js', container: '#main-content', activeWhen: '/dashboard/*',});orchestrator.start();/dashboard/overviewname: 'dashboard'activeWhen: '/dashboard/*'name: 'catalog'activeWhen: '/shop/*'name: 'checkout'activeWhen: '/checkout/*'name: 'settings'activeWhen: '/settings/*'@tuvix.js/event-busAcht Bausteine. Installiere das Gesamtpaket tuvix.js, um die fünf Kernpakete zu bekommen, oder füge einzelne Pakete hinzu, wenn deine Shell wächst.
Betreibe Micro Apps in React, Vue, Svelte, Angular und Vanilla JS nebeneinander in einer Shell.
Anleitung zu Micro AppsJedes Paket hängt nur von anderen @tuvix.js-Paketen ab. Du installierst die, die du importierst.
Alle PaketeDer Router mountet und unmountet Apps, wenn sich die URL ändert, im History- oder Hash-Modus.
@tuvix.js/routerApps veröffentlichen und abonnieren typisierte Events, ohne Globals zu teilen.
@tuvix.js/event-busShadow DOM hält die Styles jeder App in ihrem Container. JsSandbox führt ein Skript gegen ein Proxy-Window aus, das du danach verwerfen kannst.
@tuvix.js/sandboxDer Loader lädt App-Bundles bei Bedarf, speichert sie im Cache und wiederholt fehlgeschlagene Ladevorgänge.
@tuvix.js/loaderEin Panel direkt in der Seite zeigt registrierte Apps, die aktive Route und den Verkehr auf dem Event Bus.
@tuvix.js/devtoolsRendere Micro Apps auf dem Server und füge ihr HTML in das Shell-Template ein, als String oder als Stream.
@tuvix.js/serverJeder Adapter macht aus einer Komponente eine Micro App, die der Orchestrator mounten, aktualisieren und unmounten kann.
createReactMicroApp kapselt eine Komponente. useTuvixProps und useTuvixBus lesen Props und Events.
npm i @tuvix.js/reactcreateVueMicroApp mountet eine Vue-3-App, mit Composables für Props und den Event Bus.
npm i @tuvix.js/vuecreateSvelteMicroApp mountet Komponenten aus Svelte 3, 4 und 5.
npm i @tuvix.js/sveltecreateAngularMicroApp bootstrappt eine Komponente ab Angular 15 in ihren Container.
npm i @tuvix.js/angulardefineMicroApp gibt reinem JavaScript die Hooks mount, unmount und update.
npm i @tuvix.js/coreStarte mit dem Gesamtpaket. Wechsle zu einzelnen Paketen, wenn du eine kleinere Installation willst.
Gesamtpaket mit Core, Router, Event Bus, Loader und Sandbox.
Der Orchestrator. Registriert Micro Apps und führt ihre Lifecycles aus.
Aktiviert Micro Apps anhand der URL, im History- oder Hash-Modus.
Typisiertes Publish/Subscribe zwischen Micro Apps.
Lädt App-Bundles bei Bedarf, mit Caching und Wiederholungsversuchen.
CSS-Isolation über Shadow DOM, JS-Isolation über Proxy.
Serverseitige Komposition und Streaming für die Host-Seite.
Lädt Micro Apps aus Remotes von Webpack Module Federation.
Debug-Panel direkt in der Seite für Apps, Routen und Events.
React-Adapter, Hooks und Helfer für Server-Rendering.
Vue-3-Adapter, Composables und Helfer für Server-Rendering.
Svelte-Adapter mit Unterstützung für Server-Rendering.
Angular-Adapter mit Unterstützung für Server-Rendering.
Vite-Plugin, das Island-CSS und modulepreload-Links in den SSR-Head schreibt, damit serverseitig gerenderte Micro Apps schon beim ersten Paint gestylt sind.
Erstellt über die Kommandozeile ein neues Projekt mit Host und Micro App.