4月12日,Vue.js
的创始人尤雨溪大大在twitter上发布了一个全新的基于Vue
的静态网站生成器-,这对于广大Vue
爱好者来说无疑是一个好消息噜!
Vue与SEO搜索引擎优化
SEO (Search Engine Optimization)
-对于开发者来说是一项必不可少的技能,尤其是前端的同学们。比如在html
文件头部加上网站的关键字keywords
,以及网站描述description
,再到正确的使用html
标签等,这些在传统的服务端渲染页面的模式下,就妥妥的足够了。
但是随着前端技术的不断发展壮大,前后端分离开发模式的大行其道,越来越多的前端开始使用Vue
等MVVM
模型的框架进行开发,这种数据驱动,动态渲染的方式,对于搜索引擎爬虫来说是非常不友好的,往往网站的内容很难被正确收录,所以在pc端页面大部分仍然采用服务端渲染的方式。
Vue与SSR服务端渲染
Vue结合SSR服务端渲染就是对seo进行优化的一种解决方案,它的原理就是利用webpack
和node.js
将Vue
生成的html
文件发送给服务器,然后再由服务器渲染出来。这样做就能渲染正确的html
文件,达到搜索引擎的优化,但是缺点也有一些,他要求前端开发者必须了解一些node
语法,同时也加重了服务器渲染的压力,开销较大。
以下内容来自官方文档 vuepress.vuejs.org
什么是VuePress
VuePress
由两部分组成:一个基于Vue
的轻量级静态网站生成器,以及为编写技术文档而优化的默认主题。 它是为了满足Vue自己的子项目文档的需求而创建的。VuePress
为每一个由它生成的页面提供预加载的html
,不仅加载速度极佳,同时对seo非常友好。一旦页面被加载之后,Vue
就全面接管所有的静态内容,使其变成一个完全的SPA
应用,其他的页面也会在用户使用导航进入的时候来按需加载。
VuePress
是怎样运作的
一个VuePress
应用实际上就是基于Vue
、VueRouter
以及webpack
,如果你以前就用过vue
,那么当你在用VuePress
开发或者定制自己的主题的时候,你会发现使用体验几乎是一毛一样~你甚至可以用Vue DevTools
来debug
你的定制主题!
在build
的过程中,VuePress
会通过创建一个服务端渲染的版本,并访问每一个路由来渲染相关的html
。这种方法是来自Nuxt
的nuxt generate
命令,和其他项目如Gatsby
的启发。
每个markdown
文件都被编译为HTML
,然后作为Vue
组件的模板进行处理。这样你可以在markdown
文件中直接使用Vue
,这在需要嵌入动态内容的时候非常有用。
VuePress
特性
- 内置的
markdown
扩展专为技术文档优化 - 可以在
markdown
文件中直接使用vue
-
vue
驱动的可定制画主题 - 支持
PWA
- Progressive Web App(渐进式网页应用程序) - 集成
Google Analytics
-
一个默认的
VuePress
包括:- 响应式布局
- 可选的主页
- 一个简单的头部搜索组件
- 可定制的导航栏和侧边栏
- 自动生成的
GitHub
链接和页面编辑链接
开始使用VuePress
全局使用
# install globally
npm install -g vuepress
# create a markdown file
echo "# Hello VuePress!" > README.md
# start writing
vuepress dev .
# build
vuepress build .
在现有项目中安装
如果你已经有一个项目,可以将VuePress
作为本地依赖进行安装,这种方式同样支持使用CI或Netlify等服务在推送时自动部署。
# install as a local dependency
npm install -D vuepress
# create a docs directory
mkdir docs
# create a markdown file
echo "# Hello VuePress!" > docs/README.md
# start writing
npx vuepress dev docs
也可以直接在package.json
中加入:
{
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
然后执行下面的命令行来运行项目
npm run docs:dev
默认情况下,构建的文件将位于.vuepress / dist
中,也可以通过.vuepress / config.js
中的dest字段进行配置。构建的文件可以部署到任何静态文件服务器。
咳咳,今天的翻译先进行到这里,要睡觉了!明天来一发试试~night~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。