从 Eleventy 迁移到 Astro
Eleventy 是一个支持多种模板语言的开源静态站点生成器。
Eleventy (11ty) 和 Astro 的主要相似之处
Eleventy (11ty) 和 Astro 有一些相似之处,这将帮助你迁移你的项目:
-
Astro 和 Eleventy 都是现代的、基于JavaScript的(Jamstack)网站构建工具。
-
Astro 和 Eleventy 都允许你使用无头(headless)CMS,API 或 Markdown 文件获取数据。你可以继续使用你喜欢的内容创作系统,并能保留你现有的内容。
-
Astro 和 Eleventy 都能构建多页面应用。
Eleventy (11ty) 和 Astro 主要差异
当你在 Astro 中重建你的 Eleventy (11ty) 站点时,你会注意到一些重要的区别:
-
Eleventy 支持多种模板语言。Astro 支持包含来自几个流行的JS框架(例如 React,Svelte,Vue,Solid)的组件,但大部分页面模板都使用 Astro布局,页面和组件。
-
Astro 在所有文件中使用
src/
目录,包括站点元数据,这些文件在站点构建过程中可用于查询和处理。其中包含一个特殊的src/pages/
文件夹用于文件路由。 -
Astro 使用
public/
文件夹存储不需要在构建过程中处理或转换的静态资源。 -
在 Eleventy 中,必须手动配置 CSS,JavaScript 和其他资产的打包。Astro 为你提供开箱即用的处理方式。
从 Eleventy 切换到 Astro
要将 Eleventy 博客转换为 Astro,首先从我们的博客主题启动模板开始,或者在我们的主题展示中探索更多社区博客主题。
你可以向create astro
命令传递一个--template
参数,以使用我们的官方启动器开始一个新的 Astro 项目。或者,你可以从 GitHub 上的任何现有 Astro 库开始一个新项目
将你现有的 Markdown(或MDX,通过我们可选的集成)文件作为内容,创建 Markdown 或 MDX 页面。
你的 Eleventy 项目允许你使用各种模板语言来构建你的网站。在 Astro 项目中,你的页面模板大部分将使用Astro 组件,这些组件可以作为 UI 元素,布局甚至完整的页面。你可能想要探索Astro 的组件语法,看看如何使用组件在 Astro 中进行模板化。
要转换其他类型的网站,例如作品集或文档站点,请在 astro.new 上查看更多官方启动器模板。你会找到每个项目的 GitHub 仓库的链接,以及一键链接到 StackBlitz,CodeSandbox 和 Gitpod 在线开发环境中的有效项目。
社区资源
- 添加你自己!