创建一个可复用的导航组件
既然你的 Astro 站点的多个页面中都有相同的 HTML,现在是时候用一个可复用的 Astro 组件来替换那些重复的内容了!
准备好去……
- 为组件创建一个新文件夹
- 构建一个 Astro 组件来显示你的导航链接
- 用一个新的、可复用的导航组件替换现有的 HTML
创建一个新的 src/components/
文件夹
标题为“创建一个新的 src/components/ 文件夹”的部分为了存放那些将生成 HTML 但不会成为你网站上新页面的 .astro
文件,你需要在你的项目中创建一个新文件夹:src/components/
。
创建一个导航组件
标题为“创建一个导航组件”的部分-
创建一个新文件:
src/components/Navigation.astro
。 -
从任何页面的顶部复制用于在页面之间导航的链接,并将它们粘贴到你的新文件
Navigation.astro
中src/components/Navigation.astro ------<a href="/">Home</a><a href="/about/">About</a><a href="/blog/">Blog</a>如果你的
.astro
文件的 frontmatter 中没有任何内容,你就不必编写代码块。当你需要它们时,可以随时将它们加回来。
导入并使用 Navigation.astro
标题为“导入并使用 Navigation.astro”的部分-
回到
index.astro
并在代码块内导入你的新组件src/pages/index.astro ---import Navigation from '../components/Navigation.astro';import "../styles/global.css";const pageTitle = "Home Page";--- -
然后在下方,用你刚刚导入的新导航组件替换现有的导航 HTML 链接元素
src/pages/index.astro <a href="/">Home</a><a href="/about/">About</a><a href="/blog/">Blog</a><Navigation /> -
在浏览器中检查预览,你会发现它看起来应该完全一样……而这正是你想要的!
你的网站包含的 HTML 和以前一样。但现在,这三行代码是由你的 <Navigation />
组件提供的。
亲自尝试 - 将导航添加到网站的其余部分
标题为“亲自尝试 - 将导航添加到网站的其余部分”的部分使用相同的方法,在你网站的另外两个页面(about.astro
和 blog.astro
)中导入并使用 <Navigation />
组件。
别忘了:
- 在组件脚本的顶部,代码块内部,添加一个导入语句。
- 用导航组件替换现有代码。
当你在不改变页面在浏览器中的外观的情况下重构代码时,你就是在进行重构。在本单元中,当你用组件替换页面 HTML 的部分内容时,你将重构几次。
这使你可以快速开始使用任何可行的代码,即使这些代码在你的项目中经常是重复的。然后,你可以在不改变网站外观的情况下,逐步改进现有代码的设计。
知识测验
标题为“测试你的知识”的部分-
当你在多个页面上有重复的元素时,你可以这样做
-
Astro 组件是
-
当你...时,Astro 组件会自动在你的网站上创建一个新页面
相关资源
标题为“资源”的部分-
重构 外部链接