# 使用VuePress搭建在线文档网站
# 1. 在线文档
VuePress官方在线文档 (opens new window)
# 2. 搭建基本环境
# 2.1.使用vue脚手架创建一个vue项目
# 全局下载 vue 脚手架包
npm install -g @vue/cli
# 创建 vue2 的项目
vue create atguigu-utils_docs
# 2.2.使用上vuepress
# 下载 VuePress
npm install -D vuepress
# 新建一个文件: docs/README.md
# Hello VuePress!
# 启动文档项目
npx vuepress dev docs
# 3. 配置教程的文档
# 3.1.整体结构
|-- docs
|-- .vuepress
|-- public
|-- favicon.ico
|-- logo.png
|-- utils.jpg
|-- config.js
|-- chapter1
|-- 01_创建工具包项目.md
|-- 02_发布到npm中央仓库.md
|-- 03_使用自定义工具包.md
|-- chapter2
|-- 01_函数相关
|-- 02_数组相关
|-- 03_对象相关
|-- 04_字符串相关
|-- 05_手写带委托的事件监听
|-- 06_手写ajax请求函数
|-- 07_手写事件总线
|-- 08_手写消息订阅与发布
|-- 09_手写Promise
|-- chapter3
|-- README.md
|-- README.md
|-- package.json
# 3.2.docs/.vuepress/config.js
// 注意: base的值为github仓库的名称(/不能少)
module.exports = {
base: '/atguigu_utils-docs/', /* 基础虚拟路径 */
dest: 'docs/dist', /* 打包文件基础路径, 在命令所在目录下 */
title: '自定义工具函数库(系列一)', // 标题
description: '尚硅谷前端研究院', // 标题下的描述
themeConfig: { // 主题配置
logo: '/logo.png',
nav: [ // 头部导航
{ text: '官网', link: 'http://www.atguigu.com' },
{ text: '谷粒学院', link: 'http://www.gulixueyuan.com/' },
{
text: '学习路线',
items: [
{ text: '前端', link: 'http://www.atguigu.com/web/' },
{ text: 'Java', link: 'http://www.atguigu.com/kecheng.shtml' },
{ text: '大数据', link: 'http://www.atguigu.com/bigdata/' }
]
},
],
sidebar: [ // 左侧导航
{
title: '打包自定义工具库', // 标题
collapsable: false, // 下级列表不可折叠
children: [ // 下级列表
'chapter1/01_创建工具包项目',
'chapter1/02_发布到npm中央仓库',
'chapter1/03_使用自定义工具包',
]
},
{
title: '各种自定义',
collapsable: false,
children: [
'chapter2/01_函数相关',
'chapter2/02_数组相关',
'chapter2/03_对象相关',
'chapter2/04_字符串相关',
'chapter2/05_手写带委托的事件监听',
'chapter2/06_手写ajax请求函数',
'chapter2/07_手写事件总线',
'chapter2/08_手写消息订阅与发布',
'chapter2/09_手写Promise',
]
},
{
title: '快速搭建在线文档网站',
collapsable: false,
children: [
'chapter3/',
]
},
],
// sidebarDepth: 3 // 左侧导航的深度默认是2级
},
head: [ // 指定网页head图标
['link', { rel: 'shortcut icon', type: "image/x-icon", href: `/favicon.ico` }]
]
}
# 3.3.docs/README.md
---
#首页
home: true
# 图标
heroImage: /utils.jpg
# 按钮文本
actionText: 开始学习 →
# 按钮点击跳转路径
actionLink: /chapter1/01_工具函数库说明
features:
- title: 技术提升
details: 通过自定义实现函数相关、数组相关、对象相关,字符串相关工具函数; 手写继承、DOM事件监听、ajax请求、事件总线、消息订阅-发布、Promise。极大提升对JS核心技术的理解和编码能力
- title: 面试利器
details: 中大厂面试问得最多是什么?答:原生JS的理解和编码,咱们这套课程就是为此设计的。
- title: 扩展能力
details: 如何创建自己的npm工具库?如何快速搭建在线技术或文档站点?我们给你最精简的答案。
---
# 3.4.package.json
"scripts": {
"doc:dev": "vuepress dev docs",
"doc:build": "vuepress build docs",
"doc:deploy": "gh-pages -d docs/dist"
}
# 4. 发布到github pages
使用git管理当前项目
将打包的文档推送到github pages
# 下载工具包
npm install -D gh-pages
# 执行打包命令
npm run doc:build
# 执行部署命令
npm run doc:deploy