静态网站生成和部署(二)项目构成和部署(Strapi + Vercle)

2024-08-23 01:38

本文主要是介绍静态网站生成和部署(二)项目构成和部署(Strapi + Vercle),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目介绍

  • 使用 Gridsome 创建项目
  • 模板参考 startbootstrap-clean-blog
  • 使用 Strapi 管理内容,提供 API 和 GraphQL查询

Gridsome 是静态站点生成器,打包时可以通过 API 或 GraphQL 获取动态数据,生成对应的静态文件。

例如:获取一定数量的文章列表,生成每个文章的详情页。

Strapi 用于提供数据来源。

由于生成的是静态站点,当静态页面中的数据源发生变化,静态页面是不会自动更新的。

所以需要在部署时监听数据源变化,当数据发生变化时,通知Gridsome重新生成静态站点。

Strapi

介绍

Strapi (Bootstrap your API)是通用的CMS内容管理系统。

  • 快速生成CMS管理面板
  • 快速创建集合,例如文章、用户
  • 提供 RESTFul API 和 GraphQL 轻松获取数据
  • 内置用户系统,可以控制权限
  • 插件 - 可以轻松搭配 Gridsome
  • webhook - 可以关联钩子实现自动部署,例如 Vercel
  • 可以使用任意数据库类型,例如:Sqlite Mysql Mongodb

安装

Strapi 依赖 sharp,所以需要考虑网络环境并配置 C++ 编译环境。

网络环境可以修改镜像:sharp - Chinese mirror

C++ 编译可以安装:node-gyp 和 相应系统的编译套件

静态网站部署到Vercel

Gridsome 生成的静态网站可以部署到任意支持静态资源托管的 web 服务器,例如 Vercel。

Vercel 需要注册 或 Github授权登录,可以参考 Vercel 部署 NuxtJS 应用。

登录后可以从Git仓库导入项目:Import Git Repository 或 Import Project:

在这里插入图片描述

在这里插入图片描述

填写Gridsome项目的仓库地址(注意不是分支地址):

在这里插入图片描述

Continue 后继续配置:

在这里插入图片描述

在这里插入图片描述

如果编译过程失败,可以根据错误调整,重新 Deploy

编译完成:

在这里插入图片描述

Strapi触发自动部署

Vercel 可以配置 Git Deploy Hooks。

Deploy Hooks 允许您触发给定分支的部署。

从项目的Settings进入:

在这里插入图片描述

填写自定义的钩子名称,和配置的Git分支,然后创建。

在这里插入图片描述

然后进入 Strapi 添加 webhook:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

保存后,修改数据,例如新建一篇文章。

此时 Vercel 就会重新打包编译,最终生成新的静态页面。

可以进入 Vercel 项目的 deployments 面板查看。

至此 Gridsome + Strapi + Vercel 自动部署完成。

这篇关于静态网站生成和部署(二)项目构成和部署(Strapi + Vercle)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097987

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF