Astro 6 推出啦

0 阅读2分钟

Astro 6 终于推出!

npmx @astrojs/upgrade

就在昨天晚上,Astro 6.0 正式发布了。带来了新的特性,也引入了一些破坏性变更以及若干新的实验性选项

主要亮点(概览)

详情可以查看Astro 6.0官方博客,我这里简单说几点

vite7

Astro 6 默认使用 Vite 7,带来更一致的 dev / release 体验,测试生产一致性得到了保证,这下终于不用为神秘**bug**而反复构建了。

有人可能会疑惑,那 vite 8 支持呢?毕竟 vite 8 要呼之欲出了,我也有这个疑惑,所以很久之前我就在 Discord 上问过,看来即使 vite 8 正式推出,astro 6 也很难启用 vite 8

image.png

具体链接在这:关于 astro 6 与 vite 8

注意 ⚠️,这并非承诺,只是推测,当 vite 8 正式推出时,官方也有可能有实验性更新。

实验性 Rust 编译器

Experimental Rust compiler

Astro 6 引入了 Rust 编译器,为 Astro 的组件和模板提供了更高效的编译性能,但处于实验状态,缺少很多特性,无法自动纠正 HTML 结构。

import { defineConfig } from "astro/config";

export default defineConfig({
  experimental: {
+    rustCompiler: true
  }
});

我认为对于博客模板来说,可以试试,比较大部分结构已经由模板固定,唯一不确定的是 Markdown 中混乱的 HTML 结构,不过应该没人那么写吧?

实验性的队列渲染

Experimental queued rendering

当启用队列渲染时,Astro 遍历树中的所有节点,并输出一个深度优先的节点列表。然后对该列表进行迭代和渲染,无需递归算法。这种渲染方式更省内存,并且在大型项目中应能带来更多优势,还有两个配置:节点池化内容缓存,详情可以查看官方文档

import { defineConfig } from "astro/config";

export default defineConfig({
  experimental: {
+    queuedRendering: {
+       enabled: true
+    }
  }
});

构建速度加快

显而易见,构建速度变得更快了,启用实验特性+缓存,对我这个百十来篇文章的博客,在本机构建,最快时间缩小到 11s 左右。


Astro生态越来越好,希望大家都来尝试一下Astro!


Astro 6 推出啦

作者:xingwangzhe

本文链接: xingwangzhe.fun/posts/astro…

本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。