Tuvix.js monta micro app React, Vue, Svelte, Angular e vanilla JS in un'unica pagina host. Routing, event bus, sandboxing e rendering lato server sono pacchetti separati che aggiungi quando ti servono.
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-busOtto blocchi. Installa il pacchetto ombrello tuvix.js per avere i cinque principali, oppure aggiungi singoli pacchetti man mano che la shell cresce.
Esegui micro app React, Vue, Svelte, Angular e vanilla JS fianco a fianco in un'unica shell.
Guida alle micro appOgni pacchetto dipende solo da altri pacchetti @tuvix.js. Installi quelli che importi.
Tutti i pacchettiIl router monta e smonta le app quando cambia l'URL, in modalità history o hash.
@tuvix.js/routerLe app pubblicano eventi tipizzati e si iscrivono a essi senza condividere variabili globali.
@tuvix.js/event-busLo shadow DOM tiene gli stili di ogni app dentro il suo container. JsSandbox esegue uno script su una window Proxy che puoi buttare via.
@tuvix.js/sandboxIl loader scarica i bundle delle app su richiesta, li mette in cache e ripete i caricamenti falliti.
@tuvix.js/loaderUn pannello nella pagina elenca le app registrate, la route attiva e il traffico dell'event bus.
@tuvix.js/devtoolsEsegui il rendering delle micro app sul server e inserisci il loro HTML nel template della shell, come stringa o come stream.
@tuvix.js/serverOgni adapter trasforma un componente in una micro app che l'orchestratore può montare, aggiornare e smontare.
createReactMicroApp avvolge un componente. useTuvixProps e useTuvixBus leggono props ed eventi.
npm i @tuvix.js/reactcreateVueMicroApp monta un'app Vue 3, con composable per le props e l'event bus.
npm i @tuvix.js/vuecreateSvelteMicroApp monta componenti Svelte 3, 4 e 5.
npm i @tuvix.js/sveltecreateAngularMicroApp esegue il bootstrap di un componente Angular 15+ nel suo container.
npm i @tuvix.js/angulardefineMicroApp fornisce hook mount, unmount e update in JavaScript puro.
npm i @tuvix.js/coreParti dal pacchetto ombrello. Passa ai singoli pacchetti quando vuoi un'installazione più leggera.
Pacchetto ombrello con core, router, event bus, loader e sandbox.
L'orchestratore. Registra le micro app ed esegue il loro ciclo di vita.
Attiva le micro app in base all'URL, in modalità history o hash.
Publish/subscribe tipizzato tra micro app.
Carica i bundle delle app su richiesta, con cache e nuovi tentativi.
Isolamento CSS tramite Shadow DOM, isolamento JS tramite Proxy.
Composizione lato server e streaming per la pagina host.
Carica micro app dai remote di Webpack Module Federation.
Pannello di debug nella pagina per app, route ed eventi.
Adapter React, hook e helper per il rendering lato server.
Adapter Vue 3, composable e helper per il rendering lato server.
Adapter Svelte con supporto al rendering lato server.
Adapter Angular con supporto al rendering lato server.
Plugin Vite che inserisce il CSS delle island e i link modulepreload nell'head SSR, così le micro app renderizzate sul server hanno già gli stili al primo paint.
Genera da riga di comando un nuovo progetto con host e micro app.