Qwik City
虽然 Qwik 专注于组件 API,但 Qwik City 提供了支持组件的常见服务器端功能的 API,包括以下内容
- 路由: 使用基于目录的路由定义应用程序路由。(支持 MPA 和 SPA 路由模型。)
- 页面: 渲染应用程序页面,这是应用程序的主要功能。
- 布局: 定义可在页面之间重复使用的通用共享页面布局。
- 加载器: 在服务器上获取数据以供组件使用。
- 操作: 为组件提供一种方法来请求服务器执行操作。
- 验证器: 为验证操作和加载器提供一种方法。
- 端点: 一种为您的 RESTful API、GraphQL API、JSON、XML 或反向代理定义数据端点的方法。
- 中间件: 一种集中式方法来执行跨领域关注点,例如身份验证、安全、缓存、重定向和日志记录。
- server$: 一种在服务器上执行逻辑的简单方法。
- 缓存: 控制内容的缓存。
- 环境变量: 用于以平台无关的方式管理读取环境变量(通常用于密钥)的 API。
- 支持服务器端渲染 (SSR) 以用于完全动态的网站,以及静态网站生成 (SSG) 以托管在静态 Web 服务器和 CDN 上。
Qwik¹ City²
Qwik¹: 核心框架,稳定,原语,组件模型。
City²: 基于文件的路由器,中间件,端点,以及数据获取和更新。
Qwik City 是 Qwik 的一个元框架。Qwik City 之于 Qwik,就像 Next.js 之于 React,Nuxt 之于 Vue,SvelteKit 之于 Svelte,以及 Analog 之于 Angular。
Qwik(核心)和Qwik City(路由)在两个抽象层解决问题。Qwik专注于组件和状态管理原语,而Qwik City提供了一种以意见领袖的方式构建大规模网站的性能方法。我们不想将生态系统锁定在构建网站的单一正确方式中;事实上,我们鼓励社区在Qwik之上构建替代解决方案。
虽然 Qwik City 充满了有用的功能,但由于 Qwik 的可恢复性和 JavaScript 流,Qwik City 不会给最终用户带来额外的成本。(零 JavaScript)。
使用 Qwik City 构建电子商务网站、博客网站或任何其他需要路由、布局或数据检索/更新的网站。Qwik City 建立在 Qwik 之上,因此 Qwik City 网站是可恢复的,并且只下载最少的 JavaScript,并进行细粒度的延迟加载。
Qwik City 入门
访问 使用 CLI 创建应用程序 以了解如何创建一个新的 Qwik City 启动项目。它很简单,就像
npm create qwik@latest
pnpm create qwik@latest
yarn create qwik
bun create qwik@latest
高级 API 概述
此表显示了应在哪个文件(index.tsx
vs layout.tsx
)中实现相应的功能。
Partytown
Qwik City 还预先集成了 Partytown,允许您在主线程之外执行第三方代码。