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,允许您在主线程之外执行第三方代码。

贡献者

感谢所有帮助改进此文档的贡献者!

  • manucorporat
  • strogonoff
  • youngboy
  • farukEncoded
  • brunocrosier
  • forresst
  • mhevery
  • adamdbradley
  • wtlin1228
  • hamatoyogi
  • ownchoice
  • corydeppen
  • mrhoodz
  • shairez
  • debugmodedotnet