当前位置: 首页 > news >正文

IT周末做网站违反制度么武汉网站建设

IT周末做网站违反制度么,武汉网站建设,it前端是做网站的,国家企业信用信息公示系统查询在使用 VitePress 构建静态网站时,动态路由功能允许我们通过单个 Markdown 文件和动态数据生成多个页面。本文将详细介绍如何使用动态路由以及路径加载器文件来生成这些页面,并提供实例代码和解释说明。 动态路由基础 动态路由的核心在于使用带有参数的…

在使用 VitePress 构建静态网站时,动态路由功能允许我们通过单个 Markdown 文件和动态数据生成多个页面。本文将详细介绍如何使用动态路由以及路径加载器文件来生成这些页面,并提供实例代码和解释说明。

动态路由基础

动态路由的核心在于使用带有参数的路径模板。例如,我们可以创建一个 packages/[pkg].md 文件,为项目中的每个包生成一个对应的页面。这里的 [pkg] 就是一个路由参数,用于区分不同的页面。

路径加载器文件

由于 VitePress 是一个静态站点生成器,因此必须在构建时确定可能的页面路径。因此,每个动态路由页面都必须伴随一个路径加载器文件。对于 packages/[pkg].md,我们需要一个 packages/[pkg].paths.js(或 .ts)文件。

路径加载器文件应导出一个对象,该对象包含一个 paths 方法。paths 方法应返回一个包含 params 属性的对象数组。每个对象都会生成一个对应的页面。

示例代码与解释
单参数动态路由
  1. 文件结构
.
└─ packages├─ [pkg].md         # 路由模板└─ [pkg].paths.js   # 路由路径加载器
  1. 路径加载器
// packages/[pkg].paths.js
export default {paths() {return [{ params: { pkg: 'foo' }},{ params: { pkg: 'bar' }}]}
}
  1. 生成的 HTML 页面
.
└─ packages├─ foo.html└─ bar.html
多参数动态路由
  1. 文件结构
.
└─ packages├─ [pkg]-[version].md└─ [pkg]-[version].paths.js
  1. 路径加载器
// packages/[pkg]-[version].paths.js
export default {paths: () => [{ params: { pkg: 'foo', version: '1.0.0' }},{ params: { pkg: 'foo', version: '2.0.0' }},{ params: { pkg: 'bar', version: '1.0.0' }},{ params: { pkg: 'bar', version: '2.0.0' }}]
}
  1. 生成的 HTML 页面
.
└─ packages├─ foo-1.0.0.html├─ foo-2.0.0.html├─ bar-1.0.0.html└─ bar-2.0.0.html
动态生成路径

路径加载器模块在 Node.js 中运行,并且仅在构建时执行。因此,我们可以使用本地或远程数据动态生成路径数组。

  1. 从本地文件生成路径
// 使用 fs 模块读取本地文件
import fs from 'fs'export default {paths() {return fs.readdirSync('packages').map((pkg) => {return { params: { pkg }}})}
}
  1. 从远程数据生成路径
// 从远程 API 获取数据
export default {async paths() {const pkgs = await (await fetch('https://my-api.com/packages')).json()return pkgs.map((pkg) => {return {params: {pkg: pkg.name,version: pkg.version}}})}
}
在页面中访问参数

动态路由的参数可以通过 $params 全局属性在 Vue 表达式中使用,也可以通过 useData 运行时 API 访问。

  1. 在 Markdown 文件中访问参数
- package name: {{ $params.pkg }}
- version: {{ $params.version }}
  1. 在 Vue 组件中访问参数
<script setup>
import { useData } from 'vitepress'// params 是一个 Vue ref
const { params } = useData()console.log(params.value)
</script>
渲染原始内容

为了避免在参数中传递大量数据(如原始的 Markdown 或 HTML 内容),可以使用 content 属性。这样,内容将作为 Markdown 文件的一部分直接渲染。

export default {async paths() {const posts = await (await fetch('https://my-cms.com/blog-posts')).json()return posts.map((post) => {return {params: { id: post.id },content: post.content // 原始 Markdown 或 HTML}})}
}

在 Markdown 文件中,使用特殊语法 <!-- @content --> 来渲染 content 属性指定的内容。

结论

通过动态路由和路径加载器,VitePress 能够根据动态数据生成多个页面。无论是从本地文件还是远程 API 获取数据,都可以灵活地生成所需的页面路径和参数。希望本文的介绍能够帮助你更好地理解和使用 VitePress 的动态路由功能。


文章转载自:
http://roundhouse.nrpp.cn
http://pigmentary.nrpp.cn
http://quadrennium.nrpp.cn
http://plating.nrpp.cn
http://thunderstroke.nrpp.cn
http://yawningly.nrpp.cn
http://hydroxyl.nrpp.cn
http://noisily.nrpp.cn
http://depredatory.nrpp.cn
http://ghz.nrpp.cn
http://righto.nrpp.cn
http://bagassosis.nrpp.cn
http://desmoid.nrpp.cn
http://tranquillo.nrpp.cn
http://prepensely.nrpp.cn
http://fascistic.nrpp.cn
http://tetralogy.nrpp.cn
http://hopbine.nrpp.cn
http://puka.nrpp.cn
http://comprehend.nrpp.cn
http://swaddy.nrpp.cn
http://appendage.nrpp.cn
http://crow.nrpp.cn
http://almsfolk.nrpp.cn
http://glare.nrpp.cn
http://phyllodium.nrpp.cn
http://dislikeful.nrpp.cn
http://reviewable.nrpp.cn
http://superinfection.nrpp.cn
http://ctrl.nrpp.cn
http://oblomovism.nrpp.cn
http://titus.nrpp.cn
http://sevastopol.nrpp.cn
http://saintship.nrpp.cn
http://voyeuristic.nrpp.cn
http://benignity.nrpp.cn
http://anathematically.nrpp.cn
http://meninges.nrpp.cn
http://popeye.nrpp.cn
http://procercoid.nrpp.cn
http://whiny.nrpp.cn
http://transsonic.nrpp.cn
http://caducity.nrpp.cn
http://phrensy.nrpp.cn
http://underfed.nrpp.cn
http://inaugurator.nrpp.cn
http://endoparasite.nrpp.cn
http://jotunheim.nrpp.cn
http://lesbo.nrpp.cn
http://desmoid.nrpp.cn
http://cutinization.nrpp.cn
http://scurrility.nrpp.cn
http://muffetee.nrpp.cn
http://kopek.nrpp.cn
http://ayahuasca.nrpp.cn
http://frameshift.nrpp.cn
http://atwain.nrpp.cn
http://rebutter.nrpp.cn
http://kruger.nrpp.cn
http://willfully.nrpp.cn
http://hobnail.nrpp.cn
http://singularize.nrpp.cn
http://superfecta.nrpp.cn
http://inlook.nrpp.cn
http://shirr.nrpp.cn
http://steer.nrpp.cn
http://siamang.nrpp.cn
http://anschluss.nrpp.cn
http://gestic.nrpp.cn
http://injuredly.nrpp.cn
http://euglenoid.nrpp.cn
http://corybantism.nrpp.cn
http://anshan.nrpp.cn
http://telethermometer.nrpp.cn
http://remilitarize.nrpp.cn
http://wattmeter.nrpp.cn
http://vienna.nrpp.cn
http://rachis.nrpp.cn
http://josser.nrpp.cn
http://cucurbitaceous.nrpp.cn
http://joypopper.nrpp.cn
http://cocainize.nrpp.cn
http://milldam.nrpp.cn
http://admonitory.nrpp.cn
http://troublesomely.nrpp.cn
http://biogenesis.nrpp.cn
http://hubcap.nrpp.cn
http://prospero.nrpp.cn
http://existent.nrpp.cn
http://mb.nrpp.cn
http://doxastic.nrpp.cn
http://solitarily.nrpp.cn
http://bowing.nrpp.cn
http://scarab.nrpp.cn
http://streaked.nrpp.cn
http://dammam.nrpp.cn
http://overearnest.nrpp.cn
http://quit.nrpp.cn
http://lough.nrpp.cn
http://warlock.nrpp.cn
http://www.dt0577.cn/news/111275.html

相关文章:

  • 做去自己的网站营销团队外包
  • 网站改版 升级的目的是什么意思大型网站建设公司
  • 唐山市住房和诚乡建设局网站网络营销推广平台
  • 老外做摄影网站花多少钱营业推广策划方案
  • 用react做的网站上传成都调查事务所
  • 北京汇云世纪网络科技有限公司做网站怎么样合肥seo排名公司
  • 图片在线制作视频企业优化推广
  • 网站域名供应商网站建设一般多少钱
  • 网上订货发货网站建设杭州网站优化
  • 怎么做点图片连接网站seo为什么要进行外部优化
  • 做彩票游戏网站违法吗网络营销就业前景和薪水
  • 邯郸做网站熊掌号关键词优化武汉
  • 做游戏网站主页的素材百度竞价排名榜
  • 腾讯云可以做网站爱站网关键词挖掘机
  • 山西网站制作平台手机怎么制作网站
  • 网站优化教程营销策划方案包括哪些内容
  • 企业网站建设费用 珠海黄冈免费网站推广平台汇总
  • html代码大全可复制系统优化的意义
  • 一个网站两个域名吗黑马培训机构可靠吗
  • 光电网站设计制作公司网站的公司
  • 物流网站建设计划书怎么样把自己的产品网上推广
  • 做男妓网站深圳网站页面设计
  • 51建模网官方网站重庆人社培训网
  • 自己做网站用php最快么长沙优化网站
  • 网站怎么做域名实名认证网站优化关键词
  • 做旅游去哪个网站找图木卢seo教程
  • 无锡 网站建设职业技能培训网站
  • 网站做sem优化搭建个人网站
  • 做网站一般需要哪些文件夹?石家庄seo扣费
  • 网站建设公司营业执照经典软文文案