Astro

快還要更快的 Astro 6.0

2 分鐘
約 443 字

After 6.0 #

Dev 和 Production 跑是終於是同個東西 #

以往在開發環境上,預設使用的是 Node.js,但如果要 build 並運行在其他平台上就容易出現不同的實做方法,導致容易觸發 Bug。

在更新之後,本地開發將會與部屬後的生成內容幾乎一致。

Live Content Collections #

即時內容不再重新建立(rebuild),而是 CMS 或 API 一更新,內容會在發出請求時(request-time)即時抓取最新資料,完全無需重新建置與佈署。

Font Provider #

在 6.0 終於將自訂字體的功能統一實作一套屬於自己的做法,而非上個版本有好幾種官方提供的建議作法。

Content Security Policy #

CSP 在 6.0 中,將配置簡化並強化實作,會自動為腳本與樣式計算並套用 Hash(雜湊值),讓網站更安全,大幅減少被 XSS 攻擊的風險。

實驗性功能 #

Rust Compiler #

Welcome to Rust. 沒錯 6.0 的 Astro 預設使用的是 Go-based Compiler,而官方認為 Rust 在編譯上會更快因此有了 Rust-based Compiler 的實驗性功能 @astrojs/compiler-rs

你可以透過 npm install @astrojs/compiler-rs 來安裝並使用這個實驗性功能。

import { defineConfig } from 'astro/config';

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

新的渲染策略:佇列 #

據官方所說,Queued Rendering 較以往使用的遞迴渲染將提供最高達兩倍的渲染提升,並預計在 7.0 版本中會成為預設的渲染策略。

路由快取 #

新增了 SSR 快取實作,並且僅需使用 Astro 統一的 API(如 Astro.cache)即可控制快取,並透過配置 Cache Provider(例如內建的記憶體快取)來決定儲存位置,無須再為不同部署平台撰寫程式碼。