最后
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容
VuePress
由两部分组成:一个以 Vue
驱动的主题系统简约静态网站生成工具,和一个为编写技术文档而优化的默认主题。它是为了支持 Vue
子项目的文档需求而创建的。
由 VuePress
生成的每个页面,都具有相应的预渲染静态 HTML
,它们能提供出色的加载性能,并且对 SEO
友好。页面加载之后,Vue
就会将这些静态内容,接管为完整的单页面应用程序(SPA
)。当用户在浏览站点时,可以按需加载其他页面。
二、VuePress 优点
- 界面简洁优雅
- 容易上手
- 更好的兼容、扩展
Markdown
语法- 响应式布局,PC端、手机端
Google Analytics
集成- 支持
PWA
三、运行原理
VuePress
搭建的静态网站实际上是由 Vue
, Vue Router
和 webpack
驱动的单页面应用程序。如果你以前使用过 Vue
,那么在编写或开发自定义主题时(甚至可以使用 Vue DevTools
来调试你的自定义主题!),你会融入到熟悉的开发体验中!
在构建过程中,我们会创建应用程序的服务器渲染版本,并且实际上是通过访问每个路由,来渲染相应的 HTML
。这种方式受到 Nuxt
的 nuxt generate
命令以及 Gatsby
等其他项目的启发。
四、项目搭建
4.1 项目结构
首先说明一下官方推荐的目录结构:
4.2 创建项目文件夹
可以右键手动新建,也可以使用 mkdir
命令新建:
mkdir vuepressBlogDemo
全局安装 VuePress
npm install -g vuepress
进入 vuepressBlogDemo 文件夹,初始化项目
使用 npm init
或 npm init -y
(默认yes)
npm init -y
4.3 创建文件夹和文件
在 vuepressBlogDemo 文件夹中创建 docs 文件夹,在 docs 中创建 .vuepress
文件夹,在.vuepress
中创建 public
文件夹和 config.js
文件,最终项目结构如下所示:
vuepressBlogDemo
├─── docs
│ ├── README.md
│ └── .vuepress
│ ├── public
│ └── config.js
└── package.json
在 config.js
文件中配置网站标题、描述、主题等信息:
module.exports = {
themeConfig: {
nav: [{
text: '唐',
link: '/tang/'
}, {
text: '宋',
link: '/song/'
}, {
text: '更多',
link: '/more/'
}],
sidebar: {
'/tang/': [
['', '简介'], {
title: '代表人物',
collapsable: false,
children: [
'libai/'
]
}
],
'/song/': [
['', '简介'], {
title: '代表人物',
collapsable: false,
children: [
'liqingzhao/'
]
}
]
}
}
}
其中,/tang/、/song/
、’'和libai/
等表示当前导航栏或侧边栏点击所跳转的路由地址(即相应的.md
文件),按照路由创建对应的文件。
- ''会显示为当前目录下的
README.md
文件。['', '简介']
当前侧边栏的title为简介。/tang/
表示为tang
文件夹下的README.md
,/tang
表示为tang.md
文件。- 可以使用
sidebar: auto
自动生成侧边栏,这里采用自定义侧边栏。
在 package.json
文件里添加两个启动命令
"scripts": {
"dev": "vuepress dev docs",
"build": "vuepress build docs"
}
4.4国际化
在config.js
中添加locales
字段,以配置国际化。
locales: {
'/': { // 中文
lang: 'zh-CN',
title: '诗词鉴赏',
description: '静态站点 诗词鉴赏'
},
'/en/': { // 英文
lang: 'en-US', // 将会被设置为 <html> 的 lang 属性
title: 'Appreciation of poetry',
description: 'Static Site Appreciation of poetry'
}
}
配置默认主题的导航栏和侧边栏支持国际化,在上述themeConfig
中增加locales
字段:
#### 总结
* 对于框架原理只能说个大概,真的深入某一部分具体的代码和实现方式就只能写出一个框架,许多细节注意不到。
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
* 算法方面还是很薄弱,好在面试官都很和蔼可亲,擅长发现人的美哈哈哈...(最好多刷一刷,不然影响你的工资和成功率????)
* 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。
* 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
![](https://img-blog.csdnimg.cn/img_convert/41a409bca685b4ea0e0aa1a5589c3e09.png)
第一次跳槽十分忐忑不安,和没毕业的时候开始找工作是一样的感受,真的要相信自己,有条不紊的进行。**如果有我能帮忙的地方欢迎随时找我,比如简历修改、内推、最起码,可以把烦心事说一说**,人嘛都会有苦恼的~
祝大家都有美好的未来,拿下满意的 offer。
![](https://img-blog.csdnimg.cn/img_convert/41a409bca685b4ea0e0aa1a5589c3e09.png)
第一次跳槽十分忐忑不安,和没毕业的时候开始找工作是一样的感受,真的要相信自己,有条不紊的进行。**如果有我能帮忙的地方欢迎随时找我,比如简历修改、内推、最起码,可以把烦心事说一说**,人嘛都会有苦恼的~
祝大家都有美好的未来,拿下满意的 offer。