Serverless 实战 —— 基于 Serverless 的 VuePress 极简静态网站

news/2024/5/19 0:45:26/文章来源:https://blog.csdn.net/Aria_Miazzy/article/details/104556374

基于 Serverless 的 VuePress 极简静态网站

 

作者: Aceyclee

之前用过 Docsify + Serverless Framework 快速创建个人博客系统,虽然 docsify 也是基于 Vue,然而它是完全的运行时驱动,因此对 SEO 不够友好。所以这次尝试使用 VuePress 来搭建一个静态网站,依然部署在 Serverless 架构上。

 

简单介绍一下:

  • VuePress:由两部分组成,第一部分是一个极简静态网站生成器;另一个部分是为书写技术文档而优化的默认主题。每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他页面则会只在用户浏览到的时候才按需加载。
  • Serverless Framework:在 GitHub 上有三万颗星,业界非常受欢迎的无服务器应用框架,开发者无需关心底层资源即可部署完整可用的 Serverless 应用架构。

接下来我们分三步进行:创建项目 → 配置 yml 文件 → 部署

 

▎工具准备

首先确保系统包含以下环境:

  • Node.js (Node.js 版本需不低于 8.6,建议使用 10.0 及以上版本)
  • Git

1. 安装 Serverless Framework

$ npm install -g serverless

2. 安装 docsify

$ npm install -g vuepress

▎创建项目

复制代码

# 创建项目目录
mkdir vuepress-starter && cd vuepress-starter# 新建一个 markdown 文件
echo '# Hello VuePress!' > README.md# 开始写作
vuepress dev .# 构建静态文件
vuepress build .

这时候可以看到 ./vuepress-starter 目录下创建的 README.md 文档,它会做为主页内容渲染,直接编辑 docsify/README.md 就能更新网站内容。此时通过浏览器访问 http://localhost:8080/ 即可本地预览。

▎配置 yml 文件

在项目目录下,创建 serverless.yml 文件:

$ touch serverless.yml

将以下内容写入上述的 yml 文件里:

复制代码

# serverless.ymlmyvuepress:component: "@serverless/tencent-website"inputs:code:src: ./dist # Upload static filesindex: index.htmlerror: 404.htmlregion: ap-guangzhoubucketName: my-bucket

配置完成后,文件目录如下:

/vuepress-starter├── .vuepress|    ├── dist|    |   ├── 404.html|    |   └── index.html|    └── serverless.yml└── README.md

▎部署

通过 serverless 命令(可使用命令缩写 sls )进行部署,添加 --debug 参数查看部署详情:

$ sls --debug

如果你的账号未 登陆 或 注册 腾讯云,可以直接通过微信扫描命令行中的二维码,从而进行授权登陆和注册。这也是我觉得特别方便的一个地方!

部署过程中,terminal 显示信息示意:

$ sls                                       (此处有张二维码)Please scan QR code login from wechat. Wait login...Login successful for TencentCloud. myvuepress: url: http://my-bucket-1256526400.cos-website.ap-guangzhou.myqcloud.comenv: 59s › myvuepress › done

访问命令行输出的 url,即可查看使用 Serverless Framework 部署的 VuePress 网站啦~

最终效果

▎小结

部署过程中要注意,由于 VuePress 生成的 index.html 所在目录默认隐藏,因此要在正确的目录层级中创建 serverless.yml 文件,不然会导致部署失败。

这次依然使用了腾讯云 Serverless Framework 作为网站部署的工具,实在是因为太方便了。部署过程不到一分钟,完全不用考虑云上资源如何配置的问题!✌️

传送门:

  • GitHub: github.com/serverless
  • 官网:serverless.com

欢迎访问:Serverless 中文网,您可以在 最佳实践 里体验更多关于 Serverless 应用的开发!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_709748.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Serverless 实战 —— Serverless 架构揭秘与静态网站部署实战

Serverless 架构揭秘与静态网站部署实战 讲师简介 陈涛 Serverless Framework 社区专家 参与 Serverless 社区及开源的相关研发工作。拥有丰富前端、JavaScript 技术经验,以及网站及小程序等项目开发经验,腾讯云 Serverless 系列课程特约讲师。 课程简…

最热开源静态网站生成器 TOP 20

最热开源静态网站生成器 TOP 20 1、静态站点生成器 Jekyll Jekyll 是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如d…

演练 网站的导航栏 0920

演练 网站的导航栏 0920 素材 https://cloud.189.cn/t/qMVJzaAbea63 数据 导航图的宽度 760 150 菜单图的宽高 760 32 制作过程 完成基本架构 制作菜单按钮 使用li>a的方式 效果 去掉样式 让li浮动 让a变为块级元素 去掉链接下划线 水平垂直居中 鼠标经过后效果

【资源】可下载三维模型的网站

可以用于生成仿真数据的三维模型库,持续更新… 1.Free3D 2.Turbosquid 3.三维扫描模型 4.3D SKY 5.3D warehouse 6.ArchiBase 7.机械模型 Dassault Systmes ref: https://www.zhihu.com/question/268392246/answer/426906438 https://zhuanlan.zhihu.com…

10个轻量级CMS网站内容管理系统

这里推荐的10个简单轻量级的网站内容管理系统对于每一个Web设计师和Web开发人员来说,都是简单易用的,是一般小型网站的可选实现方案,10 个CMS系统各有特色。 Wolf CMS Wolf CMS simplifies content management by offering an elegant user …

16个SNS网站常用JS组件

1. Facebook jQuery聊天框。 Facebook本身有 一个不错的IM软件,这个组件教你怎么模仿faceback的样式实现一个在线聊天框。 Demo Download 2. 仿Twitter Ajax搜索 帮你建立以个仿Twitter风格的搜索引擎效果。 Demo Download 3. 仿Facebook Mootools模态…

100种增加网站流量的方法

本文是一篇翻译的文章,文章比较长,但是如果你有网站或者blog的话,很多方法还是很值得借鉴的。 流量 就是网络中的货币。网站流量越大,就越容易达到既定目标:赚钱,传播观点,与其他人联系互动&…

网站开发技巧参考大全 event js

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.…

网站开发技巧参考大全 event js

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.…

一步步构建大型网站架构

有幸接确到了架构这个词的玩意,这几天有时间就网上游离一下相关资料,看到不错就收藏一下,作为以后学习的方向: 之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑 、Flickr的架构 、YouTube的架构…

网站静态化结构

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时…

网站静态化结构

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时…

10种JavaScript特效实例让你的网站更吸引人

10种JavaScript特效实例让你的网站更吸引人 今天的话题是如何改进自己网站的界面或提高网站的视觉体验,从而让用户记忆犹新。我们有三种主要的方法(从难到易):自己动手写脚本;使用类似于jQuery和mooTools的JavaScript框架&#xf…

优化Meta讨好搜索引擎 更好的提升网站排名

网页代码中的Meta标签在SEO(搜索赢取优化)中有着举足轻重的地位,如果在Meta标签上进行了适合搜索引擎的撰写方式,可在很大程度地提升网站的排名,同时也有利于站点内容的收录,所以给每个网页加上Meta值就成为…

优化Meta讨好搜索引擎 更好的提升网站排名

网页代码中的Meta标签在SEO(搜索赢取优化)中有着举足轻重的地位,如果在Meta标签上进行了适合搜索引擎的撰写方式,可在很大程度地提升网站的排名,同时也有利于站点内容的收录,所以给每个网页加上Meta值就成为…

ASP.NET 4中的SEO改进

ASP.NET 4包括了一系列新的运行时特性,可以帮助你进一步优化你的网站。其中一些新特性可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,这些特性包括: 新的Page.MetaKeywords 和 Page.MetaDescription 属性 针对ASP.NET Web Forms的…

ASP.NET 4中的SEO改进

ASP.NET 4包括了一系列新的运行时特性,可以帮助你进一步优化你的网站。其中一些新特性可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,这些特性包括: 新的Page.MetaKeywords 和 Page.MetaDescription 属性 针对ASP.NET Web Forms的…

Google 的PageRank值对网站成功有多重要

网页排名(PR),基于外部链接以及链接来源来确定网站排名的评价方式,是谷歌独家拥有的秘密武器。虽然由于谷歌对网站排名增加了越来越多新标准使得这种方式已经慢慢变淡了,但是对于SEO和网站管理员来说还是很看重获得一个…