vue获取文件绝对路径_vuePress搭建一个vue风格的技术文档/博客

vuePress文档

vuePress可以作为静态博客,也可以作为个人文档,也可以作为轻量级别的wiki

相较于已经放弃开源的gitbook,目前vuePress显然更有优势,集成vue生态使其扩展性更强.

cf78a5f88ed7aeeaa5d1596bb96d6435.png

参考文档: vuePress官方文档

启动项目

npm installnpx vuepress dev docs

目录结构

参考文档: vuePress目录结构

29bea71d58a9eb5c19bfe81e23ac792d.png

配置文件

一个 VuePress 网站必要的配置文件是 .vuepress/config.js,它应该导出一个 JavaScript 对象:

module.exports = {
 title: 'Hello VuePress', // 网站标题
 description: 'Just playing around' // 网站描述
}

参考文档: vuePress基本配置

侧边栏

使用数组形式,每一个json是一个栏目,children是子栏,以此类推

themeConfig: {
       sidebar: [
          {
               title: '侧边栏2', // 侧边栏文字
               path: '/', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
               collapsable: true, // 可选的, 默认值是 true,是否默认展开
               children: [{
                   title: '子侧边栏', // 必要的
                   path: '/test', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
                   collapsable: true, // 可选的, 默认值是 true,
              }

              }, {
                   title: '子侧边栏2', // 必要的
                   path: '/test2', // 可选的, 标题的跳转链接,应为绝对路径且必须存在
                   collapsable: true, // 可选的, 默认值是 true,
              }

              }]
          }
      ]
  }

参考文档: vuePress侧边栏

搜索框

themeConfig: {
       search: true, // 是否开启搜索栏
       searchMaxSuggestions: 10, // 调整默认搜索框显示的搜索结果数量
  }

参考文档: vuePress搜索框

最后更新时间

themeConfig: {
       lastUpdated: true,  // 最后更新时间
  }

参考文档: vuePress最后更新时间

自定义组件

所有在 .vuepress/components 中找到的 *.vue 文件将会自动地被注册为全局的异步组件

components/Test.vue

<template>
   <div class="test" @click="test">
       <div class="child">child</div>
   </div>
</template>
<script>export default {    name: `test1232`,    data() {        return {};   },    methods: {        test() {            console.log(`vue`)       },   },};</script>
<style lang="less">
.test {
   color: #333;
   width: 100px;
   height: 100px;
   background-color: pink;
   margin: 0 auto;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
  .child {
       color: blue;
  }
}
</style>

md使用 

参考文档: vuePress自定义组件

引入第三方框架

element-ui

设置应用级别配置.vuepress/enhanceApp.js

npm安装element-ui

记得,千万别用官方推荐的yarn,因为引用element会报各种异常错误,清空node-modules文件,使用npm install,重新编译就好了

可能是window上独有的问题

import { Button } from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

export default ({
   Vue, // VuePress 正在使用的 Vue 构造函数
   options, // 附加到根实例的一些选项
   router, // 当前应用的路由实例
   siteData // 站点元数据
}) => {
   Vue.use(Button);
}

正常使用即可

<template>
   <div class="test" @click="test">
       <el-button type="primary">主要按钮</el-button>
   </div>
</template>

参考文档: vuePress应用级别的配置

演示Demo

代码地址: vuePressDemo代码地址

END.

ce6693b32a35dee2793d2926ee60cb4b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值