上头Jamstack系统web开发架构产生多项收益,包括高性能安全PIs使用软件服务SaS,Web应用不需要后端基础设施
币游国际真人娱乐平台兴起服务(SAAS类型)给前端带来很大的自主性Jamstack前端大都和Nuxt.js等静态网站生成器相关联,简单项目编码HTML,CSS和逻辑
多前端开发者录制单机应用,但必须先回答几个问题,例如从何处获取相关数据以及如何验证数据最重要的是,如果PostgreSQL数据库已经存在,如何连接到新Jamstack前端夏浦罗银弹求解
huthub定义,Hasura是一个超快GrapQL服务器,它“立即实时GrapQLAPIs覆盖Postgress,并使用 webhook触发数据库事件和远程商业逻辑模式。”
Jamstack应用中的数据通常可来自任何源头,例如一个或多个内容管理系统,假设你使用像Gatsby或连接像Postgres和Hasura等现有数据库等框架
下图显示如何使用Hasura连接并获取数据到使用HTML构建的应用程序
- 创建夏浦记账并签名
- 点击试用免费数据库Heroko.
下接点击数据传输标签顶部并点击创建表.
分配参数类型,即定义查询前端返回的数据和数据类型
立即连接数据库样本应用
- 双环境变量hasura账号数据库与程序连接,以便从中查询数据
- 工具函数中允许交互性
- 无服务器函数.函数类型解释见无服务器函数向静态网站传递动态.
执行下列操作:
登录Hasura云并去
https://cloud.hasura.io/projects
.注意两个环境变量的值
HasuraaAPI_URL
并HASURA_ADMIN_SECRET
.hasura_API_URL
创建
函数类
根程序目录文件夹调用utels.js
中创建文件hasura.js
内含代码确定替换hassraaAPI_URL
并HASURA_ADMIN_SECRET
并带他们的价值观
serv.env.HASURA_API_URL{方法:POST//待办:检查错误并显示错误返回结果.data}导出.query=查询
代码柱查询您的 Hasura工作空间取回
API后导出查询
函数从数据库提取数据
最后,连接查询程序并使用Netlify服务器函数内函数类
目录创建文件加项目.js下方代码导入查询
函数允许写Hasura生成的图QL查询
unst{查询}served(./ut/hasura)exports.handler = async (event) => { const result = await query({ query: ` query { projects { id project tagline title } } ` }) return{ statusCode:200, body:JSON.stringify(result), }!};
无服务器函数从表单获取数据见下文代码尸体发布后发送数项参数标识符
,标题显示
等)对服务器无响应函数
Async函数处理Submit(event){事件.//停止提交点火前函数Const数据=新FormData(event.target)//formdata API const result = await fetch('/.netlify/functions/add-project', { method :'POST', body: JSON.stringify({ id: data.get('id'), title: data.get('title'), tagline: data.get('tagline'), project: data.get('project'), }), }).then((response) => { document.querySelector( '.message', ).innerText = `Response: ${response.status}`!})!}
持续显示时, 您会希望表单中的图像有相同的分辨率后再存储到您的云式账户媒体库中云式生成URL上传期间或上传后修改图像
执行下列操作:
从您的云型账号仪表板上抓取云式名、API密钥和API密钥并存储成环境变量
.env
项目根目录中(见下例)CLOUDINARY_NAME=my-project CLOUDINARY_API_KEY=xxxxxxxxxxxxxxxxxx CLOUDINARY_API_SECRET=xxxxxxxxxxxxxxxxxxxxx
创建工具函数并用下方代码确定替换
名词化
,CLOUDINARY_API_KEY
并CLOUDINARY_API_SECRET
并带他们的价值观
康斯特云性=需求stdenv=需求dotenv.config()!云化.config({云名:进程.env.cloudinary_NAME,api_key:进程.env.cloudinary_API_KEY,api_secret:进程.env.cloudinary_API_SEST)/当做签名上传时,你将使用类似函数导出.handler=async事件sss=等待云性.v2上载程序.a})!返回{状态code:200,body:JSON.stringify};
函数增加预设值,将上传图像维度限制为最大宽度2 000像素和最大高度1 000像素
您可以对上传图像应用更多变换或生成原创资产热切变换.
与河村一起,你可以建多动能Jamstack系统网站让你的创造力高涨