Tuvix.js; React, Vue, Svelte, Angular ve vanilla JS mikro uygulamalarını tek bir host sayfaya mount eder. Yönlendirme, event bus, sandbox ve sunucu tarafı render ayrı paketler olarak gelir, ihtiyaç duyduğunuzda eklersiniz.
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-busSekiz yapı taşı. Temel beşliyi almak için tuvix.js şemsiye paketini kurun ya da shell'iniz büyüdükçe tek tek paket ekleyin.
React, Vue, Svelte, Angular ve vanilla JS mikro uygulamalarını tek bir shell'de yan yana çalıştırın.
Mikro uygulama rehberiHer paket yalnızca diğer @tuvix.js paketlerine bağımlıdır. Sadece import ettiğiniz paketleri kurarsınız.
Tüm paketlerRouter, URL değiştikçe uygulamaları history veya hash modunda mount ve unmount eder.
@tuvix.js/routerUygulamalar global değişken paylaşmadan tipli olaylar yayınlar ve bu olaylara abone olur.
@tuvix.js/event-busShadow DOM her uygulamanın stillerini kendi container'ı içinde tutar. JsSandbox bir script'i, işiniz bitince atabileceğiniz bir Proxy window üzerinde çalıştırır.
@tuvix.js/sandboxLoader, uygulama bundle'larını ihtiyaç anında indirir, önbelleğe alır ve başarısız yüklemeleri yeniden dener.
@tuvix.js/loaderSayfa içi panel kayıtlı uygulamaları, aktif route'u ve event bus trafiğini listeler.
@tuvix.js/devtoolsMikro uygulamaları sunucuda render edin ve HTML'lerini shell şablonuna string ya da stream olarak yerleştirin.
@tuvix.js/serverHer adaptör bir bileşeni, orchestrator'ın mount, update ve unmount edebildiği bir mikro uygulamaya dönüştürür.
createReactMicroApp bir bileşeni sarar. useTuvixProps ve useTuvixBus props'ları ve olayları okur.
npm i @tuvix.js/reactcreateVueMicroApp bir Vue 3 uygulamasını mount eder. Props ve event bus için composable'lar sunar.
npm i @tuvix.js/vuecreateSvelteMicroApp Svelte 3, 4 ve 5 bileşenlerini mount eder.
npm i @tuvix.js/sveltecreateAngularMicroApp bir Angular 15+ bileşenini kendi container'ına bootstrap eder.
npm i @tuvix.js/angulardefineMicroApp düz JavaScript'e mount, unmount ve update hook'ları verir.
npm i @tuvix.js/coreŞemsiye paketle başlayın. Daha küçük bir kurulum istediğinizde tek tek paketlere geçin.
Core, router, event bus, loader ve sandbox'ı içeren şemsiye paket.
Orchestrator. Mikro uygulamaları kaydeder ve lifecycle'larını yürütür.
Mikro uygulamaları URL'ye göre history veya hash modunda aktifleştirir.
Mikro uygulamalar arasında tipli publish/subscribe.
Uygulama bundle'larını ihtiyaç anında, önbellek ve yeniden deneme ile yükler.
Shadow DOM ile CSS izolasyonu, Proxy ile JS izolasyonu.
Host sayfa için sunucu tarafı birleştirme ve streaming.
Mikro uygulamaları Webpack Module Federation remote'larından yükler.
Uygulamalar, route'lar ve olaylar için sayfa içi debug paneli.
React adaptörü, hook'lar ve sunucu tarafı render yardımcıları.
Vue 3 adaptörü, composable'lar ve sunucu tarafı render yardımcıları.
Sunucu tarafı render desteğiyle Svelte adaptörü.
Sunucu tarafı render desteğiyle Angular adaptörü.
Island CSS'ini ve modulepreload linklerini SSR head'ine ekleyen Vite eklentisi. Sunucuda render edilen mikro uygulamalar ilk boyamada stilli gelir.
Komut satırından yeni bir host ve mikro uygulama projesi iskeleti oluşturur.