@beatzball/litro

中文文档
0.18.0发布于 2026/11/05Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2358

Fullstack网络框架用于网络组件——通过适配器选择Lit,FAST Element,或Elena. 基于文件的路由,流出SSR,SSG,和Nitro部署适配器. 基于标准的 Next.js / Nuxt.js 替代品 .

中文使用文档
文档目录7 节
  1. 快开始
  2. 哈罗世界
  3. 如何比较
  4. 道德操守办公室
  5. 文档
  6. 软件包
  7. 许可证

升数

用于 网络组件,由 硝基。 。 。 .

  • 框架适配器 选择 升 (违约), 快速元素,或 伊莲娜 通过 --adapter
  • 基于文件的路由 —— 说 pages/index.ts → /, (中文(简体) ), pages/blog/[slug].ts → /blog/:slug
  • 精简安全部门改革 ——声明式影子DOM(Lit/FAST)或轻型DOM(Elena)
  • 客户水合 —— 说 LitroRouter (基于URLPattern)在SSR之后以无闪光器接管
  • 服务器数据获取 —— 说 definePageData() 在服务器上运行, 串行到客户端
  • 内容层 —— 说 litro:content markdown 博客的虚拟模块, 有 11ty 兼容的前题
  • API 路线 - 简单 server/api/ 使用 H3 处理器的文件
  • Dev 一个端口 – Vite和Nitro共享一个单一的HTTP端口
  • 任何部署 - Node.js, Cloudflare工人,Vercel Edge,静态通过硝基适配器

快开始

# npm
npm create @beatzball/litro@latest my-app

# pnpm
pnpm create @beatzball/litro my-app

# yarn
yarn create @beatzball/litro my-app

# bun
bun create @beatzball/litro my-app

# deno
deno init --npm @beatzball/litro my-app
cd my-app
pnpm install
pnpm dev

哈罗世界

// pages/index.ts
import { html } from 'lit';
import { customElement } from 'lit/decorators.js';
import { LitroPage } from '@beatzball/litro/runtime';
import { definePageData } from '@beatzball/litro';

export const pageData = definePageData(async () => ({
  message: 'Hello from the server!',
}));

@customElement('page-index')
export default class IndexPage extends LitroPage {
  override render() {
    const data = this.serverData as { message: string } | null;
    return html`<h1>${data?.message}</h1>`;
  }
}

如何比较

文学下一个.js纳克特.js
构成部分模式Lit / FAST / 伊莲娜反应阴道
基于文件的路由✓✓✓
安保部门/特别支助组✓✓✓
服务器引擎硝基自定义硝基
你好,世界联署材料~8kB 键~90kB 时~60kB 时
虚拟 DOM—— 说✓✓
W3C 标准计算✓—— 说—— 说

关于Hello World JS数字的说明:基于广泛引用的社区基准和已公布的框架文件的大致数字——不是该项目独立衡量的。 Lit 的~ 5 kB 运行时大小记录在 已点出10. 下个.js和Nuxt.js的数字反映了共同报告的JS最低限度有效载荷的基准,并因框架版本和配置而异.


道德操守办公室

Litro在将HTML发送到浏览器之前,先使所有页面服务器侧面——通过声明阴影DOM(Lit/FAST)或光DOM(Elena). 搜索引擎接收到全发内容——与Next.js和Nuxt.js使用的方法相同. 只有客户端的网络组件有SIO限制;Litro的SSSR默认消除了它们.

这怎么行啊


文档

页:1 立特罗.dev。 。 。 .


软件包

软件包说明
@beatzball/litro这一一揽子方案——核心框架
@beatzball/litro-router独立的 URLPetern 路由器( 零依赖性)
@beatzball/create-litronpm create @beatzball/litro 脚手架CLI—— fullstack, (中文(简体) ), 11ty-blog, (中文(简体) ), starlight,以及 supernova 食谱

许可证

阿帕奇许可证2.0 — 版权2026 batzball.

版本与发布记录

@beatzball/litro 共发布 38 个版本,首次发布于 2026/03/09;过去 12 个月发布了 38 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.18.0latest2026/11/053 天前
0.17.62026/10/299 天前
0.17.52026/10/299 天前
0.17.42026/10/2514 天前
0.17.32026/10/2315 天前
0.17.22026/09/291 个月前

关于 @beatzball/litro 的常见问题

@beatzball/litro 是什么?

Fullstack网络框架用于网络组件——通过适配器选择Lit,FAST Element,或Elena. 基于文件的路由,流出SSR,SSG,和Nitro部署适配器. 基于标准的 Next.js / Nuxt.js 替代品 .

如何安装 @beatzball/litro?

在项目目录运行 npm install @beatzball/litro,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(^5.x)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 litro,可以用 npx litro 直接运行。

@beatzball/litro 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@beatzball/litro 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@beatzball/litro 可以商用吗?

@beatzball/litro 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@beatzball/litro 的下载量有多少?

根据 npm 官方下载统计,@beatzball/litro 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,358 次,日均约 79 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@beatzball/litro 还在维护吗?

最新版本 0.18.0 发布于 2026/11/05(3 天前);至今共发布 38 个版本,其中过去 12 个月发布了 38 个;首次发布于 2026/03/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。