前言
大家好,我是阿江,书接上文,昨天写了一篇 创建一个属于你自己的脚手架 讲了如何从0搭建一个脚手架。当时留了一个官网的知识点,实际上因为官网上的文档实在太过简略,所以导致配置起来每一项都需要单独去google
,所以今天单拎出来一片文章讲一下我用到的常用配置项,会尽量详细的去解释每一步的作用。
开始
既然我们脚手架的搭建有参考vite
的模板源码,那这次我们搭建的文档官网自然也优先考虑使用vitepress
了,毕竟不能光吃馒头不吃菜啊。
先说明一下我搭建的这个官网是基于上一篇文章的项目结构,加入的所以截图会出现之前结构,还请读者不要见怪。本文搭建的版本是
"vitepress": "^0.20.9"
的最新版本。
vitePress是干嘛
vitepress
用于快速搭建静态网页项目。一般用于开发文档较多,也可以自定义主题开发 官网、博客等项目。
并且基于.md
文件 生成html
支持makedown
文本开发,并且支持vue
组件使用开发、享受vite
的热更新。
vitePress 的使用步骤
yarn
下载
yarn add --dev vitepress
npm
下载
npm i vitepress --save
创建一个放置页面的文件夹 如文档的话创建docs
文件夹,如果是官网的话website
文件夹 因人而异。相当于在项目的根目录创建一个文件夹。
接着在最外层创建一个index.md
文件
或者使用此命令
mkdir docs && echo '# Hello VitePress' > docs/index.md
这是最外层初始化页面,也是第一个页面。
添加命令
在根路径下的package.json
添加如下指令
"docs:dev": "vitepress dev docs",//启动指令
"docs:build": "vitepress build docs",//打包指令
"docs:serve": "vitepress serve docs"//测试运行打包后文件指令
需要注意的是这里的
docs
是根据你起的文件夹名字来的,如果你的名字是website
那这里的命令应该是:"website:dev": "vitepress dev website"
启动项目
yarn
启动
yarn docs:dev
npm
启动
npm run docs:dev
打开 http://localhost:3000/
你会看到如下页面
设置配置
在刚刚创建的docs
文件夹下创建一个.vitepress
文件夹,内部创建一个config.js
用于配置关于vitepress
中所有的配置项。
目录层级如下:
├─ docs
│ ├─ .vitepress
│ │ └─ config.js
│ └─ index.md
└─ package.json
或者在package.json
的根目录下直接执行如下创建命令
cd docs && mkdir .vitepress && cd .vitepress && touch config.js
这里的意思就是进入docs目录
->创建.vitepress文件夹
->进入.vitepress文件夹
->创建config.js
module.exports = {
base:'/vue3-vite-cli/',
title: 'Vue3-Vite-Cli 中文文档',
//首页的描述
description: '基于vite为基础搭建的风格脚手架,提供多种模板以便于更高效的解决业务需求!',
lang: 'zh-CN',
head: [['link', { rel: 'icon', type: 'image/svg+xml', href: 'logo.jpeg' }]],
}
参数
如下参数包含vitePress文档没有写入的,大体是自己使用之后得到的经验理解,如有不对,还请指出!
base
base:'/vue3-vite-cli/',
该网站的基本 URL 将部署在。如果你计划将你的网站部署在一个子路径下,你需要设置这个,例如 GitHub 页面。如果你计划将你的网站部署到 foo.github.io/bar/ ,那么你应该将基地设置为/bar/
。它应该始终以斜线开头和结尾
title
title: 'Vue3-Vite-Cli 中文文档',
网站的标题。这将是所有页面标题的后缀,并显示在导航栏中。
description
description: '基于vite为基础搭建的风格脚手架,提供多种模板以便于更高效的解决业务需求!',
网站的描述,默认显示在index.md
(首页)中
lang
lang: 'zh-CN',
该网站的 lang
属性。这将在 HTML
页面中呈现为一个 <HTML lang="en-us">
标记。
head
head: [['link', { rel: 'icon', type: 'image/svg+xml', href: 'logo.jpeg' }]],
该网站的 head
属性。数组的类型,二维数组为主,不会受到编译影响的引入。
//编译后引入到index.html效果
<link rel="icon" type="image/svg+xml" href="logo.jpeg">
这里的logo设置需要在
docs
层级中创建public
文件夹存放静态资源
themeConfig
themeConfig:{
repo: 'wushijiang13/vue3-vite-cli',
repoLabel:'GitHub',
docsDir: 'docs',
docsBranch: 'master',
editLinks: true,
editLinkText: '欢迎帮助我们改善页面!',
lastUpdated: '最近更新时间',
nav: [
{ text: '入门', link: '/getting/why.html' },
{ text: '码云', link: 'https://gitee.com/wushijiang13/vue3-vite-cli' },
],
sidebar: {
'/': [
{
text: '入门',
children: [
{
text: '简介',
link: '/getting/why.html'
},
{
text: '模板脚手架简介',
link: '/getting/template_introduction.html'
}
]
}
]
}
}
该网站主题配置对象,可配置导航栏,侧边功能栏,底部帮助栏,路由地址等。
repo
repo: 'wushijiang13/vue3-vite-cli',
文档项目对应的GitHub用户名
/GitHub项目名
用于配置导航栏 GitHub
的跳转,也是用来配置所有页面中底部导航的帮助我们编辑GitHub修改
跳转功能的必须项
repoLabel
repoLabel:'GitHub',
用于配置导航栏 GitHub
链接的名称,默认为 GitHub
。
docsDir
docsDir: 'docs',
项目中放置文档文件夹的名称
docsBranch
docsBranch: 'master',
项目在GitHub
仓库的分支,也是用来配置所有页面中底部导航的帮助我们编辑GitHub修改
跳转功能的必须项
editLinks
editLinks: true,
控制项目中给全局显示帮助我们编辑GitHub修改
跳转功能,也可以在每个md
文件头部各自设置editLink: true
来控制。
editLinkText
editLinkText: '欢迎帮助我们改善页面!',
帮助我们修改的文案,默认文案是Edit this page
。
lastUpdated
lastUpdated: '最近更新时间',
右下角显示最近更新时间
文案,并控制显示。
nav
nav: [
{ text: '入门', link: '/getting/why.html' },
{ text: '码云', link: 'https://gitee.com/wushijiang13/vue3-vite-cli' },
],
该网站导航栏选项,text
为标题 link
为地址,可以填写本地相对路径也可以填写链接
sidebar
sidebar: {
'/': [
{
text: '入门',
children: [
{
text: '简介',
link: '/getting/why.html'
},
{
text: '模板脚手架简介',
link: '/getting/template_introduction.html'
}
]
}
]
}
该网站侧边导航栏选项,’/‘
代表默认匹配路径,如不设置其他匹配默认所有页面按照’/‘
匹配下的侧边导航栏展示。text
代表标题,children
代表子集,效果如下:
另外读者也可以在每个.md
文件中的头部设置sidebar: auto
这样设置会覆盖掉config.js
文件中的默认路径配置
如下图
实现切换页面自动生成对应当前章节的侧边导航栏
完整配置
module.exports = {
base:'/vue3-vite-cli/',
title: 'Vue3-Vite-Cli 中文文档',
description: '基于vite为基础搭建的风格脚手架,提供多种模板以便于更高效的解决业务需求!',
lang: 'zh-CN',
head: [['link', { rel: 'icon', type: 'image/svg+xml', href: 'logo.jpeg' }]],
themeConfig:{
repo: 'wushijiang13/vue3-vite-cli',
repoLabel:'测试',
docsDir: 'docs',
docsBranch: 'master',
editLinks: true,
editLinkText: '欢迎帮助我们改善页面!',
lastUpdated: '最近更新时间',
nav: [
{ text: '入门', link: '/getting/why.html' },
{ text: '模板', link: '/template/template-vue3-ts-initial.html' },
{ text: '相关文档', link: '/documentation/vue.html' },
{ text: '码云', link: 'https://gitee.com/wushijiang13/vue3-vite-cli' },
],
sidebar: {
'/': [
{
text: '入门',
children: [
{
text: '简介',
link: '/getting/why.html'
},
{
text: '模板脚手架简介',
link: '/getting/template_introduction.html'
}
]
},
{
text: '模板内部结构解析',
children: [
{
text: 'vue3-ts-initial',
link: '/template/template-vue3-ts-initial.html'
},
{
text: 'webpack-protist-js',
link: '/template/template-webpack-protist-js.html'
}
]
},
{
text: '相关文档',
children: [
{
text: 'Vue 相关文档',
link: '/documentation/vue.html'
},
{
text: 'Webpack 相关文档',
link: '/documentation/webpack.html'
}
]
}
]
}
}
}
以上就是我所常用的配置项,希望可以帮到大家。
index.md 头部配置
---
home: true //是否为主页
heroImage: /logo.jpeg //主页大图logo地址
actionText: 入门 //左边按钮
actionLink: /getting/why.html //跳转地址
altActionText: 模板文档 //右边按钮
altActionLink: /template/template-vue3-ts-initial.html //右边地址
footer: MIT Licensed | Copyright © 2019-present 吴先森出品 //底部描述
---
效果图如下
部署测试
还记得这两个命令吗?就是用来打包
和测试打包服务测试
"docs:build": "vitepress build docs",
"docs:serve": "vitepress serve docs"
这里需要注意的是如果需要运行
docs:serve
测试打包后文件是否可用,切记注释掉base:'/vue3-vite-cli/'
地址哦,否则会导致打开异常。如果没设置则不需要修改,最后测试完成还原注释即可。
由于笔者是部署到自己的云服务器上所以,上述所有涉及到路径的全部加上了
.html
,实际上如果读者只是部署到github则不需要设置这点。
结语
以上就是笔者vitePress搭建脚手架官网的全部内容了,其实这段搭建文档的经历也算踩了不少的坑,主要文档的不全,导致配置起来需要左查右查。这里把笔者结出来。提供给正在使用他的人,笔者还是蛮开心的。
最后这里留下笔者的 成果地址
希望小伙伴们能点点star支持一下笔者。之后会给大家带来更好的文章!
一起努力一起进步,我是阿江!
写在最后
阿江,最近新建了一个前端摸鱼交流群,欢迎同好的小伙伴一起热闹热闹 快戳这里