Astro 2.0正式發(fā)布,現(xiàn)代化靜態(tài)站點(diǎn)生成器
大家好,我是 CUGGZ。
2023 年 1 月 24 日,Astro 2.0 正式發(fā)布。Astro 是一個(gè)現(xiàn)代化的輕量級(jí)靜態(tài)站點(diǎn)生成器,用于構(gòu)建以內(nèi)容為中心的高性能網(wǎng)站。2022年,Astro 在 Github 上新增 15K Star,位列2022年 JavaScript 明星項(xiàng)目第 7 位。下面就來看看 Astro 2.0 都有哪些更新吧!
Astro 的下一代前端架構(gòu)(稱為 Astro Islands)可以優(yōu)化網(wǎng)站,在與前端框架結(jié)合使用(如 React、Svelte 和 Vue)時(shí)將加載速度提高 33%,并將 JavaScript 減少 90%。Astro 2.0 是第一個(gè)為 Markdown 和 MDX 提供完整類型安全的主要 Web 框架。Astro 現(xiàn)在可以通過內(nèi)置的解析、驗(yàn)證和自動(dòng) TypeScript 類型生成來組織 Markdown。
Astro 2.0 的更新亮點(diǎn)如下:
- 內(nèi)容集合:Markdown 和 MDX 的自動(dòng)類型安全;
- 混合渲染:支持靜態(tài)渲染和動(dòng)態(tài)渲染;
- 重新設(shè)計(jì)的錯(cuò)誤界面;
- 改進(jìn)的開發(fā)服務(wù)器 (HMR);
- Vite 4.0;
- 新的公開路線圖。
Astro 2.0 目前已經(jīng)在 npm 上可用。可以在終端中運(yùn)行 ??npm i astro@latest?
? 命令來升級(jí)現(xiàn)有項(xiàng)目,或者在瀏覽器中訪問 ??astro.new?
? 從頭開始創(chuàng)建一個(gè)新項(xiàng)目。
Markdown和MDX的自動(dòng)類型安全
Astro 2.0 旨在解決現(xiàn)代 Web 開發(fā)中一個(gè)被忽視的問題:使用 Markdown/MDX 很難。
當(dāng)有數(shù)百個(gè)不同的文件時(shí),不可能保持檢查的一致性。一個(gè)拼寫錯(cuò)誤就可能導(dǎo)致整個(gè)網(wǎng)站崩潰,需要進(jìn)行修復(fù)。
Astro 2.0 通過新的 Content Collections API 重新定義了圍繞內(nèi)容的開發(fā)者體驗(yàn)。將 Markdown 和 MDX 文件組織到不同的集合中,Astro 會(huì)處理剩下的事情:
- SEO最佳實(shí)踐;
- 信息性錯(cuò)誤消息;
- 自動(dòng)生成類型;
- 內(nèi)聯(lián)類型錯(cuò)誤、自動(dòng)完成等。
混合渲染:靜態(tài)遇見動(dòng)態(tài)
近一年來,Astro 允許用戶在靜態(tài) (SSG) 和服務(wù)端 構(gòu)建輸出之間進(jìn)行選擇。靜態(tài)網(wǎng)站提供了令人難以置信的性能,但它們?nèi)狈槊總€(gè)請(qǐng)求按需生成 HTML 的能力。
Astro 2.0 通過混合渲染將兩全其美的技術(shù)結(jié)合在一起。混合渲染讓用戶可以選擇在不放棄已部署服務(wù)的情況下預(yù)渲染某些頁(yè)面。預(yù)渲染提前構(gòu)建頁(yè)面,以便所有這些請(qǐng)求立即加載。
將靜態(tài)和動(dòng)態(tài)內(nèi)容混合在一起為 Astro 開啟了全新的可能性,包括:
- 提高頁(yè)面的渲染性能;
- 提高大型站點(diǎn)的構(gòu)建性能;
- 將 API 添加到現(xiàn)有的靜態(tài)站點(diǎn)。
重新設(shè)計(jì)的錯(cuò)誤界面
Astro 2.0 最重要的 UI 部分更改就是錯(cuò)誤 overlay。當(dāng)出現(xiàn)問題時(shí),開發(fā)人員可以第一時(shí)間看到錯(cuò)誤詳情,這對(duì)于調(diào)試問題是很有用的。
Astro 2.0 以全新的 Astro 外觀和感覺完全重新設(shè)計(jì)了錯(cuò)誤體驗(yàn)。此外,新的錯(cuò)誤 overlay 突出顯示了比以前更多的信息,例如解決錯(cuò)誤的有用提示和跳轉(zhuǎn)到喜歡的編輯器中的代碼的按鈕。
開發(fā)服務(wù)器優(yōu)化
Astro 2.0 提高了 Astro 開發(fā)服務(wù)器的性能和可靠性,特別是在熱模塊重新加載(HMR)方面。
Astro 用戶在過去幾個(gè)月中受益于這些改進(jìn)的增量發(fā)布,最終在 2.0 全部發(fā)布。Astro 2.0 標(biāo)志著所有這些改進(jìn)首次在一個(gè)版本中一起提供。
Vite 4.0
Astro 2.0 最重要的內(nèi)部依賴項(xiàng)升級(jí)之一:Vite 4.0。
Vite 是支持 Astro 內(nèi)部構(gòu)建引擎的重要工具。Vite 4.0 是 Vite 的最新版本,包括幾項(xiàng)重要的改進(jìn)和錯(cuò)誤修復(fù),有利于所有 Astro 用戶。
Astro 公開路線圖
Astro 有一個(gè)開放的 RFC 流程,任何人都可以針對(duì)某項(xiàng)功能提出新想法,社區(qū)會(huì)在每周一次的 Discord 電話會(huì)議上開會(huì)討論這些想法。
然而,在實(shí)踐中,RFC 流程并沒有為貢獻(xiàn)者提供足夠的指導(dǎo)。RFC 是冗長(zhǎng)的,需要花費(fèi)大量精力才能創(chuàng)建詳細(xì)的文檔。一些人發(fā)現(xiàn)這個(gè)過程令人望而生畏。還有一些人創(chuàng)建了 RFC,后來才意識(shí)到他們的想法是不可行的。
新的路線圖通過降低新想法和提案的進(jìn)入門檻來解決這些缺點(diǎn)。在編寫正式的 RFC 之前,可以討論甚至接受新的想法。Astro 維護(hù)人員還將在流程的早期提供指導(dǎo),以幫助解決問題并討論功能優(yōu)先級(jí)。
Astro 2.0 Release Notes:https://astro.build/blog/astro-2/