基于vue-ssr的静态网站生成器VuePress 初体验


Posted in Javascript onApril 17, 2018

什么是VuePress

VuePress由两部分组成:一个基于Vue的轻量级静态网站生成器,以及为编写技术文档而优化的默认主题。 它是为了满足Vue自己的子项目文档的需求而创建的。

VuePress为每一个由它生成的页面提供预加载的html,不仅加载速度极佳,同时对seo非常友好。一旦页面被加载之后,Vue就全面接管所有的静态内容,使其变成一个完全的SPA应用,其他的页面也会在用户使用导航进入的时候来按需加载。

参考官方文档可知该项目有一下特点:

  • 内置markdown(基础功能)
  • 支持PWA
  • 集成了Google Analytics
  • 拥有一套默认主题(风格与(官方文档)[https://vuepress.vuejs.org]一致)
  • 自动生成的GitHub链接和页面编辑链接

快速上手

安装

初始化项目

npm init -y

安装 vuepress,也可以全局安装

npm install -D vuepress

创建文章文件夹

mkdir docs

配置package.json

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

书写

直接在docs文件夹下新建markdown文件即可编辑书写文章

预览

npm run docs:dev

打开 http://localhost:8080/

构建

npm run docs:build

生成的文件默认会在 .vuepress/dist 文件夹下

自定义配置

可以将配置文件写到 .vuepress/config.js 中

添加顶部导航

module.exports = {
 themeConfig: {
  nav: [
   { text: 'Home', link: '/' },
   { text: 'Guide', link: '/guide/' },
   { text: 'External', link: 'https://google.com' },
  ]
 }
}

添加侧边栏

module.exports = {
 themeConfig: {
  sidebar: [
   '/',
   '/page-a',
   ['/page-b', 'Explicit link text']
  ]
 }
}

同时支持分组添加侧边栏 eg:

module.exports = {
 themeConfig: {
  sidebar: [
   {
    title: 'Group 1',
    collapsable: false,
    children: [
     '/'
    ]
   },
   {
    title: 'Group 2',
    children: [ /* ... */ ]
   }
  ]
 }
}

总结

以上所述是小编给大家介绍的基于vue-ssr的静态网站生成器VuePress 初体验 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
Apr 15 Javascript
仿jQuery的siblings效果的js代码
Aug 09 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
用json方式实现在 js 中建立一个map
May 02 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
基于LayUI实现前端分页功能的方法
Jul 22 Javascript
微信小程序实现简易table表格
Jun 19 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
jQuery实现使用sort方法对json数据排序的方法
Apr 17 #jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 #jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 #jQuery
Angular 容器部署的方法
Apr 17 #Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 #Javascript
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 #jQuery
Vue 项目代理设置的优化
Apr 17 #Javascript
You might like
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
JS 面向对象之神奇的prototype
2011/02/26 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
jQuery如何使用自动触发事件trigger
2015/11/29 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Python面试题集
2012/03/08 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
高一物理教学反思
2014/01/24 职场文书
和解协议书
2014/04/16 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
父亲节感言
2015/08/03 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
解除租赁合同协议书
2016/03/21 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
Python Matplotlib绘制动画的代码详解
2022/05/30 Python