Astro 是一款現(xiàn)代化的輕量級靜態(tài)站點(diǎn)生成器,具有出眾的開發(fā)者體驗(yàn) (Developer Experience)。據(jù)介紹,雖然 Astro 從誕生到今天只有 16 個月,但其倉庫的 star 數(shù)已超過 13000,并且在全球擁有超過 30000 名用戶。目前,Astro 文檔已被翻譯成 6 種不同的語言 —— 包括中文①。
近日,Astro 發(fā)布②了 1.0 正式版。團(tuán)隊(duì)稱 1.0 意味著 API 已達(dá)到穩(wěn)定狀態(tài),并可用于生產(chǎn)環(huán)境。部分新特性:
-
圖像優(yōu)化:引入新的和組件
-
支持 MDX:在 Markdown 中混合編寫 UI 組件的標(biāo)準(zhǔn)語法
-
支持 SSR:SSR 現(xiàn)已達(dá)到穩(wěn)定狀態(tài),可用于生產(chǎn)環(huán)境
-
Vite 3.0:升級 Astro 使用的構(gòu)建引擎 Vite
Astro 采用了獨(dú)特的Island 組件架構(gòu),團(tuán)隊(duì)稱這是一種用于構(gòu)建更快網(wǎng)站的新型 Web 架構(gòu)。與單頁應(yīng)用程序不同,Astro 的組件不會被捆綁到一個 JAVAScript 包中。相反,每個組件都被視為一個獨(dú)立的小型應(yīng)用程序,與所有其他組件隔離存在。
Astro 其他特性:
-
自帶組件框架:Astro 為 React、Vue、Svelte 和 Tailwind css 等前端工具提供一級支持。通過
astro add
命令即可添加使用 -
支持靜態(tài)頁面生成 (SSG) 和服務(wù)器端渲染 (SSR),可以按需渲染內(nèi)容
-
開發(fā)者體驗(yàn)出眾:Astro 支持所有喜愛的開發(fā)者工具和功能,如 TypeScript、NPM 包、Scoped CSS、CSS Modules、Sass、Tailwind、Markdown、MDX
-
按需組件:Astro 支持通過水化組件按需加載 JavaScript。因此,如果該特定組件不可見,它不會加載相關(guān)的 JavaScript
-
100% 靜態(tài) html,無 JavaScript 運(yùn)行時環(huán)境:當(dāng)構(gòu)建 Astro 時,它將刪除所有 JavaScript,并將整個頁面渲染為靜態(tài) HTML 頁面
-
seo 友好:使用 Astro,可以啟用自動網(wǎng)站地圖、RSS 訂閱、分頁和收藏
-
基于文件的路由:就像 Next.js 一樣,Astro 有一個基于文件的路由機(jī)制,所有在 /pages 中的東西 Astro 都會將目錄轉(zhuǎn)化為路由
借發(fā)布 1.0 的機(jī)會,開發(fā)團(tuán)隊(duì)還對官網(wǎng) astro.build 進(jìn)行了重新設(shè)計(jì):
最后團(tuán)隊(duì)表示,Astro 從首次推出到現(xiàn)在發(fā)布 1.0 正式版,已經(jīng)發(fā)生了許多變化。它不僅僅只是靜態(tài)站點(diǎn)生成器,開發(fā)者可以在任何流行的托管平臺上將 Astro 構(gòu)建為動態(tài)的、支持 SSR 的服務(wù)器。
項(xiàng)目地址:https://www.oschina.NET/p/astro-build
①https://docs.astro.build/zh-cn/getting-started/
②https://astro.build/blog/astro-1/