注意:使用VuePress前请确保你的 Node.js 版本 >= 8。

一、安装(启动服务)

1. 全局安装

# 安装
yarn global add vuepress # 或者:npm install -g vuepress

# 创建项目目录
mkdir vuepress-starter && cd vuepress-starter

# 在docs文件夹下新建一个 markdown 文件
echo '# Hello VuePress!' > docs/README.md

# 开始写作
vuepress dev .

# 构建静态文件
vuepress build .

2. 现有项目中使用

# 将 VuePress 作为一个本地依赖安装
yarn add -D vuepress # 或者:npm install -D vuepress

# 新建一个 docs 文件夹
mkdir docs

# 新建一个 markdown 文件
echo '# Hello VuePress!' > docs/README.md

# 开始写作
npx vuepress dev docs

3. 在vuepress项目文件夹下的 package.json 里加一些脚本:

{
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  }
}

4. 开发与打包

然后就可以开始写作了:

yarn docs:dev # 或者:npm run docs:dev

要生成静态的 HTML 文件,运行:

yarn docs:build # 或者:npm run docs:build

默认情况下,文件将会被生成在 .vuepress/dist,当然,你也可以通过 .vuepress/config.js 中的 dest 字段来修改,生成的文件可以部署到任意的静态文件服务器上

最后,看一下最简单的目录结构:

vue获取docker的变量 vuepress docker_ico

二、配置首页  docs/README.md  ==> 默认访问的首页就是这个页面

参考官网:https://vuepress.vuejs.org/zh/theme/default-theme-config.html#%E9%A6%96%E9%A1%B5

配置详情:

---
home: true
heroImage: /img/logo.png
actionText: 开始学习 →
actionLink: /vue/
features:
- title: Wiki - 夯实基础
  details: 基于JavaScript对工作用常用知识点和重要知识点进行整理,记录,归档,以便时时学习。温故而知新...
- title: Store - 技术更新
  details: 针对时下主流技术,结合自身学习掌握,总结整理,多种方式记录。吾将上下而求索...
- title: Thought - 随笔、面试
  details: 总结工作中遇到的问题,引以为戒;记录常见、经典、有意思的面试题,掌握学习方向与公司要求;鱼与熊掌我要兼得...
footer: MIT Licensed | Copyright © 2019-12 By halo1416
---

vue获取docker的变量 vuepress docker_vue获取docker的变量_02

 

三、配置导航栏

参考官网: https://vuepress.vuejs.org/zh/theme/default-theme-config.html#%E5%AF%BC%E8%88%AA%E6%A0%8F

在docs目录下,新建目录 .vuepress (主要必须有. ); 并新建配置文件 config.js

vue获取docker的变量 vuepress docker_静态网站_03

配置详情:

module.exports = {
    ... 
    themeConfig: {
        // 配置顶部导航栏
        nav: [
            { text: 'home', link: '/' },
            { text: 'JavaScript', link: '/javaScript/' },
            { text: 'vue技术栈', link: '/vue/' },
            { text: 'react技术栈', link: '/react/' },
            { text: 'webpack', link: '/webpack/' },
            { text: '组件封装', link: '/moduleComponents/' },
            // { text: '面试题', link: '/interview/' },
            {       //下拉导航栏
                text: '面试/随笔',
                ariaLabel: '面试/随笔 Menu',
                items: [
                  { text: '面试题', link: '/recordSelf/interview/' },
                  { text: '随笔', link: '/recordSelf/problem/' }
                ]
            }
        ],

        ...
    }    
}

四、配置侧边栏 config.js

参考官网: https://vuepress.vuejs.org/zh/theme/default-theme-config.html#%E5%AF%BC%E8%88%AA%E6%A0%8F

module.exports = {
    ... 
    themeConfig: {
        // 配置每个菜单对应的侧边栏
        sidebar: {
            // '/webpack/': [               //自动生成侧边栏菜单名称
            //     '',     /* /webpack/ */
            //     'base',  /* /webpack/base.html */
            // ],
            '/webpack/': [               //自定义菜单栏菜单名称  ==>> webpack菜单下的侧边栏
                ['/webpack/','介绍'],           //一级菜单
                {title: '基本配置',              //多级菜单
                    children: [
                        // ['',''] //=>[路径,标题]
                        ['基础1','单入口单出口'],  // '/webpack/base.md'文件
                    ]
                },  
            ],
            '/moduleComponents/': [             // moduleComponents菜单下的侧边栏
                ['/moduleComponents/table','表格封装'],           //一级菜单
            ]
        },

        ...
    }    
}

完整的 config.js 配置:

module.exports = {
    title: '个人前端知识积累',
    description: '前端路漫漫,不知终点,不断记录,慢慢积累',
    head: [
        // 增加一个自定义的 favicon(网页标签的图标)
        // 这里的 '/' 指向 docs/.vuepress/public 文件目录 
        // 即 docs/.vuepress/public/img/favicon.ico
        ['link', { rel: 'icon', href: '/favicon.ico' }]
    ],
    themeConfig: {
        // 配置顶部导航栏
        nav: [
            { text: 'home', link: '/' },
            { text: 'JavaScript', link: '/javaScript/' },
            { text: 'vue技术栈', link: '/vue/' },
            { text: 'react技术栈', link: '/react/' },
            { text: 'webpack', link: '/webpack/' },
            { text: '组件封装', link: '/moduleComponents/' },
            // { text: '面试题', link: '/interview/' },
            {       //下拉导航栏
                text: '面试/随笔',
                ariaLabel: '面试/随笔 Menu',
                items: [
                  { text: '面试题', link: '/recordSelf/interview/' },
                  { text: '随笔', link: '/recordSelf/problem/' }
                ]
            }
        ],

        // 配置每个菜单对应的侧边栏
        sidebar: {
            // '/webpack/': [               //自动生成侧边栏菜单名称
            //     '',     /* /webpack/ */
            //     'base',  /* /webpack/base.html */
            // ],
            '/webpack/': [               //自定义菜单栏菜单名称  ==>> webpack菜单下的侧边栏
                ['/webpack/','介绍'],           //一级菜单
                {title: '基本配置',              //多级菜单
                    children: [
                        // ['',''] //=>[路径,标题]
                        ['基础1','单入口单出口'],  // '/webpack/base.md'文件
                    ]
                },  
            ],
            '/moduleComponents/': [             // moduleComponents菜单下的侧边栏
                ['/moduleComponents/table','表格封装'],           //一级菜单
            ]
        },
        // sidebarDepth: 2,
        // displayAllHeaders: true,
    }    
}

对应的目录结构:

vue获取docker的变量 vuepress docker_侧边栏_04