# qiankun examples Two identical shells hosting the same five independent micro apps, every one running with the JS sandbox and runtime style isolation (`@scope`) explicitly enabled. Both mount them with `` from our own UI bindings — dogfooded rather than bypassed: `main` is the React shell (`@qiankunjs/react`) and `vue-host` is the Vue one (`@qiankunjs/vue`). See [DESIGN.md](./DESIGN.md) for the shared design language. They are deployed from `next` to **https://examples.qiankunjs.com** — see [Deployment](#deployment). | app | port | stack | loading path | | ------------------ | ---- | --------------------------------------------- | -------------------------------- | | main | 7099 | React 19 + Vite 8 + Tailwind 4 | host (`@qiankunjs/react`) | | vue-host | 7105 | Vue 3.5 + Vite 8 | host (`@qiankunjs/vue`) | | react | 7100 | React 19 + Vite 8 (`bundler-plugin/vite`) | ESM sandbox | | vue | 7101 | Vue 3.5 + Vite 8 (`bundler-plugin/vite`) | ESM sandbox | | webpack | 7102 | React 19 + webpack 5 (`QiankunWebpackPlugin`) | classic (window library) | | standalone-sandbox | 7103 | TypeScript + Vite 8 | direct `@qiankunjs/sandbox` use | | purehtml | 7104 | no build, vendored jQuery | classic (inline global) | | streaming | 7106 | no build, chunk-flushing Node server | classic, entry HTML streamed | ## Run From the repo root: ```bash pnpm install pnpm start:example ``` This builds the workspace packages and starts every app's dev server in parallel. Open http://localhost:7099 for the React host, http://localhost:7105 for the Vue host, or http://localhost:7103 for the standalone sandbox lab. The examples consume `qiankun`, `@qiankunjs/react`, `@qiankunjs/vue` and `@qiankunjs/bundler-plugin` via `workspace:*`, so they always demo the in-repo code — rebuild packages (`pnpm build:packages`) after changing them. ## What each app demonstrates The framework apps implement the same "isolation lab": - **Window probe** — writes `window.__SANDBOX_PROBE__` inside its sandbox; the dashboard's host realm check proves the host window never sees it. - **Timer probe** — starts a deliberately-leaked `setInterval`; qiankun reclaims it on unmount. - **Style probe** — appends a `