withastro/astro
The web framework for content-driven websites. ⭐️ Star to support our work!
withastro/astro
The web framework for content-driven websites. ⭐️ Star to support our work!
Astro 是由 withastro 维护的现代 Web 框架,主打内容驱动网站:博客、文档、营销落地页与作品集等以 Markdown、MDX 或 .astro 组件为主的站点。它采用 Islands 架构——默认不向浏览器发送 JavaScript,仅在需要交互的 UI 区域按需水合(React、Vue、Svelte、Solid 等均可通过官方集成接入)。本仓库为 Astro 核心、create-astro 脚手架及 @astrojs/* 官方集成 monorepo;文档站主题 Starlight 在独立仓库维护。
client:* 指令按需加载,显著降低首屏脚本体积.astro 单文件组件:模板、脚本与样式同文件编写,语法接近 HTML,学习成本相对平缓astro:content 为 Markdown/MDX frontmatter 提供 TypeScript 类型校验与统一内容管理astro add 一键接入 React、Vue、Svelte、MDX、Tailwind、SSR 适配器(Node、Vercel、Netlify、Cloudflare 等)内容型站点往往「大部分页面只需 HTML」,却在 React/Next 等全栈方案里背负不必要的客户端运行时。Astro 把性能优化前移到构建阶段:默认零 JS 让 Lighthouse 与 SEO 基线更友好,又能在同一项目里局部引入熟悉的 UI 框架组件,避免为整站绑定单一前端栈。若团队要同时维护官网、博客与文档,Astro 与 Starlight 可共用工具链;若已有 Vite 经验,create astro 几分钟即可本地预览,降低从评估到上线的摩擦。
方式一:新建项目(推荐)
npm create astro@latest使用 pnpm 时:
pnpm create astro@latest向导中可选择官方模板(博客、文档、基础等)与 TypeScript、Tailwind 等选项。
方式二:手动安装到现有目录
npm install astro随后按文档配置 astro.config.mjs 与 package.json 脚本(适合已有 Vite 工程增量接入)。
进入项目目录启动开发服务器:
npm run dev终端会输出本地预览 URL(默认 http://localhost:4321)。在 src/pages/ 下新增 .astro 或 .md 文件即可生成路由;使用 Content Collections 时内容通常放在 src/content/ 并由 src/content.config.ts 注册集合。
src/pages/index.astro 或内容文件后,保存应触发热更新。npm run build 成功产出 dist/;npm run preview 可本地预览生产构建结果。client:load、client:visible 等指令,否则仅以静态 HTML 输出;过度水合会抵消零 JS 优势。@astrojs/node、@astrojs/vercel 等适配器;用 npx astro add <integration> 可自动写入配置,减少手写错误。npx @astrojs/upgrade 同步升级 Astro 与官方集成,升级前阅读 CHANGELOG 中的破坏性变更。#support 频道。