[Framework]: Vike
還沒有人認領這個 Issue。
- 主要語言
- JavaScript
- 星號
- 11.8k
- 分支
- 7.9k
- 平均合併
- 1 天 11 小時
- 30 天內合併 PR
- 11
描述
Name
Vike
Homepage
Install instructions
vike.dev/new => select "React" => scaffolds a Vike app that uses vike-react
npm create vike-core@latest => scaffolds a Vike app that uses a bespoke React integration
Is your framework open source?
Well maintained
- Bugs are quickly fixed
- Feature requests are triaged quickly (either put on the roadmap with prioritization, declined, or quickly implemented)
- CHANGELOG.md
- Vike team
Active community
Clear onboarding
Ecosystem compatibility
Vike provides unmatched flexibility regarding ecosystem integration, see Developer Experience section below.
Self-hosting option
All deployment strategies:
- Static host (using pre-rendering)
- Self-hosting
- Serverless/edge deployment (Cloudflare, Vercel, Netlify, ...)
- ISR (via vite-plugin-vercel)
Users can choose between zero-config integration (via Universal Deploy), or manual deployment/server integration (via renderPage()).
Developer Experience
Data fetching:
- Next-gen RPC via Telefunc (we're the authors of Telefunc)
- As well as "old school" page-level data fetching via
+data(which is sufficient for SSG).
All render modes:
- SSR
- Pre-rendering aka SSG. (First-class support, see
+prerender.) - SPA/MPA. (First-class support, e.g. client-only data fetching which is a common blocker with other frameworks.)
Polished details:
- Automatic frontend deployment synchronization
- Low-level i18n API, for full control over i18n
- Route Functions
- Route Guards
- Advanced Base URL support (Base URL for static assets != Base URL for the SSR server)
- URL rewriting
- User can seemlessly use
hitory.pushState() - Opt-in support for legacy browsers
- Zero-config interop, e.g. Tauri
- Infinite loop guards
- Errors & warnings meticulously crafted to be helpful
- React component stack injected into stack trace
- ...
Flexibility & Stability
Vike's main USPs are flexibility and stability.
By design:
- Vike is an agnostic core (and therefore stable), with low-level hooks that can support an unprecedented amount of stacks, tools, and new paradigms.
- Large suite of hooks.
By prioritization, for example:
- We treat blockers with high priority. (When users report they cannot achieve something, we care a ton to unblock them.)
- We enable users to access internals as temporary escape hatch.
[!NOTE]
Vike caters to companies that need extra flexibility and/or stability, see Vike use cases.
User Experience
Fast UIs:
- Progressive enhancement via HTML Streaming
- The developer has precise control over data lifecycle (e.g.
+onCreateGlobalContextand+onCreatePageContext) for performance maximization. - Prefetching
- Preloading
- Waterfall detection
Compatible with our future vision for React
Full support for React 19's HTML Streaming:
- Both Node.js and Web Streams
- Progressive Rendering
- Powered by react-streaming (for minimal boilerplate & config, making
vike-reactandvike-react-rsca lot smaller and simpler) - No known issues (both Vike's side and
react-streaming's side)
Vite recently landed support for Server Components (@vitejs/plugin-rsc). Vike has experimental Server Components support via vike-react-rsc.
[!NOTE]
See also:
- Our design for progressive Server Components adoption
- React RFC #219: injectToStream (important for wide adoption of React 19's HTML Streaming)
- We were RSC early adopters
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
該 issue 提供了 Vike 連結和 onboarding 詳細資訊,但沒有指出任何 repository 檔案、測試或具體的文件位置。首先將此提交與現有的 framework 文件結構進行比較,並確認此類條目應放在哪裡。完成的標準是,在 maintainer 接受的情況下,新增一項經過同意並審核、用於描述 Vike 的內容。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- javascript, react
- 領域
- documentation
- Issue 類型
- 文件
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 25/100