è¸

核心内容摘要

14岁初中生张婉莹手笔词语
猫女的甜蜜惊魂:潜入奶油面包工厂的奇幻夜

光影交织的永恒之美:探秘METCN人体美媚馆的艺术盛宴

轻量、极速、现代的静态网站生成框架。

一文带你从安装到实战彻底掌握 Astro。

Astro 是什么Astro是一个现代的前端框架用来构建静态网站和内容驱动的项目如博客、文档站、作品集等。

它最大的特点是零 JavaScript by default默认不加载前端 JS。

⚡️极快的加载速度只渲染必要的部分。

支持多框架组件混用可以在同一个项目中使用 React、Vue、Svelte、Solid 等。

内置 Markdown / MDX 支持。

SEO 友好生成纯静态 HTML。

一句话

总结Astro Markdown 组件化 极快静态网站生成。

安装与项目初始化

环境要求Node.js ≥ 18npm、pnpm 或 yarn 均可推荐使用 pnpmnpminstall-gpnpm

创建项目运行命令pnpmcreate astrolatest选择✔ Where should we create your new project?(你想创建的项目名)› my-astro-blog ✔ How would you like to start your new project?(使用哪个模板)› Blog ✔ Install dependencies?(安装依赖)› Yes ✔ Initialize a newgitrepository?(初始化git仓库)› Yes进入项目目录cdmy-astro-blogpnpmdev浏览器访问http://localhost:4321 你的 Astro 网站已经运行起来了项目结构Astro 默认目录结构如下my-astro-blog/├──public/# 静态资源图片、字体等 ├── src/│ ├── components/# 组件目录 │ ├── layouts/# 布局组件 │ ├── pages/# 页面目录(对应路由)│ ├── content/# Markdown 内容目录 │ └── styles/# 样式文件 ├── astro.config.mjs # Astro 配置文件 ├── package.json └── tsconfig.jsonAstro 基础语法Astro 文件的后缀名是.astro它既可以写 HTML也能嵌入 JS 逻辑。

文件结构一个.astro文件分为两部分--- const title Hello Astro! ---htmlheadtitle{title}/title/headbodyh1{title}/h1/body/html---之间是前端脚本区Astro Script Block支持 JS/TS。

下方是模板区用于写 HTML可插入{}表达式。

模板语法--- const items [Coffee, Tea, Juice] ---ul{items.map(item li{item}/li)}/ul使用{}包裹 JS 表达式支持条件、循环、模板插值

组件导入Astro 支持多种组件--- import Header from ../components/Header.astro import Footer from ../components/Footer.astro ---Header/mainh1Welcome!/h1/mainFooter/也可以混用 React、Vue 等框架的组件--- import Counter from ../components/Counter.jsx ---Counterclient:load/这里的client:load指定在浏览器端渲染组件。

Astro 提供多种渲染策略指令说明client:load页面加载后执行client:idle页面空闲时执行client:visible滚动到可视区域后加载client:onlyreact仅客户端渲染 React 组件

布局组件LayoutAstro 的布局非常直观。

创建一个src/layouts/BaseLayout.astro--- const { title } Astro.props ---htmlheadmetacharsetUTF-8/title{title}/title/headbodyheader Dawn Café/headerslot/footer© 2025 LeiHou/footer/body/html页面中使用--- import BaseLayout from ../layouts/BaseLayout.astro ---BaseLayouttitleAbout Ush1关于我们/h1p这里是Dawn Café的故事.../p/BaseLayout使用 Markdown 创建博客内容Astro 内置 Markdown 支持你只需要在src/content/blog/下新建.md文件。

示例文章src/content/blog/first-post.md--- title: 我的

Astro博客 pubDate:

description: 学习Astro框架从安装到搭建博客 author: 雷猴世界 --- 欢迎来到我的

Astro博客 这是一个超快、现代、静态的博客框架。

创建博客列表页面src/pages/blog.astro --- import BaseLayout from ../layouts/BaseLayout.astro import { getCollection } from astro:content const posts await getCollection(blog) ---BaseLayouttitle博客列表h1 博客列表/h1ul{posts.map(post (liahref{/blog/${post.slug}/}{post.data.title}/asmall{post.data.pubDate}/small/li))}/ul/BaseLayoutAstro 会自动根据 Markdown 文件生成静态路径。

访问/blog即可看到博客列表。

单篇文章模板src/pages/blog/[slug].astro --- import BaseLayout from ../../layouts/BaseLayout.astro import { getCollection } from astro:content const posts await getCollection(blog) const post posts.find(p p.slug Astro.params.slug) ---BaseLayouttitle{post.data.title}articleh1{post.data.title}/h1p{post.data.description}/ppost.Content//article/BaseLayout部署与优化

构建pnpm build生成的静态文件在dist/目录。

预览pnpm preview

部署到 Netlify / Vercel直接推送到 GitHub然后在 Vercel 或 Netlify 上导入仓库即可自动部署。

Astro 官方推荐 Vercel。

具体的操作步骤放在下一篇文章讲解 官方文档https://docs.astro.build 社区https://astro.build/blogAstro 可快速构建 SEO 友好的静态网站还支持多框架组件混用落地时要考虑部署、组件复用的工程效率问题。

试试RollCode 低代码平台轻松实现私有化部署、自定义组件、静态页面发布SSG SEO。

17.c05起草视频-17.c05起草视频应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123