墨穗app.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v1.0.165 · 墨穗笔记
笔记

Notebase墨穗
静水流深,落墨成穗。

0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →

笔记

0
加载中...

工具

0

此页用于记录用户反馈问题后的每一次改进

关于

笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势

// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Astro 7.0:全面提速,Rust 重写核心管线,构建性能提升 15-61%

2026-07-07编程开发

Astro 7.0 通过 Rust 重写编译器、Markdown 处理及渲染引擎,结合 Vite 8 与 Rolldown,实现构建速度大幅提升,并引入高级路由、CDN 缓存和 AI 辅助开发功能。

概述

Astro 7.0 正式发布,本次更新的核心主题是 速度。团队对 .astro 编译器、Markdown/MDX 处理管线、渲染引擎进行了全面重写,并升级到 Vite 8(内置 Rust 打包器 Rolldown)。基准测试显示,构建速度提升 15-61%,部分站点甚至快了两倍以上。此外,Astro 7 稳定了路由缓存机制,新增对 Netlify、Vercel、Cloudflare 的实验性 CDN 缓存支持,并引入了高级路由(src/fetch.ts 入口点)以及面向 AI 辅助开发的背景开发服务器与结构化 JSON 日志输出。

核心性能提升

Astro 的构建过程分为两步:

  1. 打包阶段:将页面、内容和客户端组件打包为 JavaScript。
  2. 渲染阶段:像小型服务器一样运行打包后的代码,为每个预渲染页面发起请求并保存生成的 HTML。

Astro 7 对两个阶段均有优化,但重点在第一步——打包。最大的性能提升来自将构建中最慢的部分用 Rust 原生代码重写。渲染阶段也因新的队列化渲染策略而更快。

基准测试结果(MacBook Pro Apple M4 Pro / 48GB 内存)

网站 页面数 旧版本耗时 Astro 7 耗时 提升幅度
docs.astro.build ~6,313 114.54s 73.53s 35.8%
astro.build ~308 62.70s 24.24s 61.3%
biomejs.dev ~6,488 176.39s 149.90s 15.0%
developers.cloudflare.com 8,431 386.89s 261.94s 32.3%
tauri.app 7,117 86.12s 55.33s 35.8%
aspire.dev 13,275 385.84s 326.11s 15.5%

关键发现:.astro 编译和 Markdown 处理占构建时间比例越大的站点,收益越明显,因为这些部分正是迁移到 Rust 的核心。

Vite 8 与 Rolldown

Astro 7 升级到 Vite 8,这是 Vite 近年来最重要的版本。最大变化是 Vite 现在使用 Rolldown——一个基于 Rust 的打包器,取代了之前的 esbuild 和 Rollup。Rolldown 在基准测试中比 Rollup 快 10-30 倍,同时支持相同的 Rollup 和 Vite 插件 API。对于大多数 Astro 项目,无需任何配置更改即可享受更快的构建。Vite 8 还包含兼容层,可自动将现有的 esbuild 和 rollupOptions 配置转换为 Rolldown 等效配置。

Rust 编译器

Astro 7 的 .astro 组件编译器完全用 Rust 重写(替代了之前基于 Go 的编译器),主要变化包括:

1. 不再自动修正 HTML

旧版 Go 编译器会静默地将标记重排、自动闭合标签、移动节点以生成“有效 HTML”,这经常让用户意外并导致难以调试的问题。新编译器按原样处理你的标记。

2. JSX 风格的严格性

未闭合标签(如 <div>Hello)和未终止属性(如 <div class="Hello >)现在会直接报错,而不是被静默修正。这些实际上是模板中的真实 bug,旧编译器为了像浏览器一样工作而忽略了它们。

3. JSX 空白处理

元素之间的空白现在遵循 JSX 约定被折叠,匹配 React 等框架的行为。例如,内联元素之间的换行不再产生可见空格:

html

Hello
World

Hello{' '}World

编译器底层使用 oxc 进行解析,Lightning CSS 进行 CSS 作用域处理。在 docs.astro.build 上,单独的编译器优化带来约 6% 的构建时间提升——虽然 .astro 编译通常不是瓶颈(Markdown 处理和打包才是),但在拥有数千页的大型站点上,每一点优化都会累积。

Markdown & MDX 管线:Sätteri

Astro 7 将默认的 Markdown/MDX 处理管线替换为 Sätteri——由 Astro 核心团队成员 Erika 创建的 Rust 原生处理器。切换到 Sätteri 后,Astro 文档和 Cloudflare 文档的构建时间各减少了一分钟以上,使 Markdown 密集型站点成为本次更新的最大受益者。

此前,Astro 的 Markdown 管线运行在 unified(remark、rehype 及大量 JavaScript 依赖)之上。在大规模站点上,该管线往往是构建中最慢的阶段:每个文件都要经过 JavaScript 解析、插件遍历整个 AST、再序列化为 HTML。

Sätteri 原生支持的特性

特性 unified 所需插件 Sätteri 支持
GFM(表格、脚注、删除线、任务列表) remark-gfm 内置,默认开启
智能标点(弯引号、破折号) remark-smartypants 内置
标题 ID remark-heading-id 内置
容器指令 remark-directive 内置
数学公式 remark-math 内置
Frontmatter(YAML、TOML) remark-frontmatter 内置
上标/下标 remark-supersub 内置
Wiki 链接 remark-wiki-link 内置

非默认功能通过 features 选项开启:

javascript
// astro.config.mjs
import { defineConfig } from 'astro/config';
import { satteri } from '@astrojs/markdown-satteri';

export default defineConfig({
markdown: {
processor: satteri({
features: {
directive: true,
math: true,
headingAttributes: true,
},
}),
},
});

Sätteri 还拥有自己的插件 API。插件只需声明它们关心的节点类型,跳过其余节点,而不是像 unified 那样每次遍历整个树。这使得添加插件的成本大幅降低。如果依赖 remark/rehype 插件,仍可通过 @astrojs/markdown-remark 使用基于 unified 的管线。

队列化渲染引擎

Astro 7 用新的基于队列的渲染引擎取代了旧的渲染引擎。该引擎更有效地对要渲染的部分进行排队,减少了空闲等待时间,从而加速了构建的第二步(生成 HTML)。

高级路由(Advanced Routing)

Astro 7 引入了 src/fetch.ts 入口点,让开发者对 Astro 的请求管线拥有完全控制权。这允许更灵活的路由逻辑,例如自定义中间件、请求拦截、响应修改等高级场景。

路由缓存与 CDN 缓存

  • 路由缓存:Astro 7 稳定了路由缓存功能,避免重复构建未变更的页面,遵循“最快的构建就是不需要发生的构建”这一理念。
  • CDN 缓存提供者:新增对 Netlify、Vercel、Cloudflare 的实验性 CDN 缓存支持,允许在边缘层缓存渲染结果,进一步加速全球访问。

AI 辅助开发增强

Astro 7 为 AI 辅助开发(如 Copilot、Cursor 等编码代理)提供了专门支持:

  • 检测编码代理:自动识别开发环境中运行的 AI 代理。
  • 后台开发服务器:允许开发服务器在后台持续运行,无需手动重启。
  • 结构化 JSON 日志:当代理需要机器可读的反馈时,输出结构化的 JSON 日志,便于解析和自动化处理。

升级指南

现有项目升级:
bash

推荐方式(自动升级)

npx @astrojs/upgrade

手动升级

npm install astro@latest

新项目创建:
bash
npm create astro@latest

详细迁移步骤请参考官方升级指南。

总结

Astro 7.0 是一次以性能为导向的重大更新。通过将编译器、Markdown 处理器和打包器迁移到 Rust,结合队列化渲染和缓存策略,显著缩短了构建时间,尤其是对内容密集的大型站点。同时,高级路由、CDN 缓存和 AI 辅助功能为开发者带来了更灵活、更现代化的开发体验。

原文链接:https://astro.build/blog/astro-7/

相似推荐
uBlock Origin 开发版被 Chrome 商店拒绝:一场关于扩展单一用途政策的争议逆向工程实战:我如何绕过亚马逊Kindle网页端的DRM加密Heroku的丑陋秘密:云之王如何背离Rails并欺骗客户Firefox 成为最后一个支持 uBlock Origin 的主流浏览器:广告拦截的终局之战GitHub Codespaces 深度解读:云端开发环境如何重塑编码工作流认知负荷才是关键:软件设计的根本度量
编写使用方法
Markdown 格式 · Ctrl+Enter 确定
0 字新建笔记
欢迎回来
登录你的墨穗笔记账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属墨穗笔记
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

隐私提醒

取消
编辑工具
受控分享
为这篇笔记生成限时 / 带密码的临时链接
关闭