首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
4,460 阅读
2
十年之约RSS聚合订阅服务上线
4,051 阅读
3
工资发放日的区别
2,931 阅读
4
rsyslogd内存占用过高解决方案
2,669 阅读
5
Nginx反代MinIO后,上传文件签名异常
2,534 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
生活
Java
旅行
学习笔记
教程
服务器
Linux
软件
日记
SpringBoot
服务
Windows
数据库
福利
Spring
系统
SQL
php
萧瑟
累计撰写
211
篇文章
累计收到
1,547
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
1
篇与
edgeone
的结果
2025-10-16
腾讯云EdgeOne Pages/KV/Functions实战笔记
最近腾讯云Edgeone内测挺火,文档也逐步完善,刚好做个开发笔记;PagesPages是一个全栈开发部署平台,提供从前端页面到动态 API 的无服务器部署体验。我们先新建一个Vue+Vite项目,执行 npm create vite@latest tencent-edgeone-pages-kv-demo -- --template vue 命令。也可以拉我刚建的工程 CNB Githubgit clone https://cnb.cool/bcrjl/tencent-edgeone-pages-kv-demo npm install -g pnpm pnpm install我们需要全局安装 EdgeOne CLInpm install -g edgeone通过 edgeone -v命令,可以查看是否安装成功。通过edgeone -h命令,可以查看相关的所有命令。安装完成后,执行 edgeone login 登录命令,选择 China 国内站,然后在弹出的浏览器窗口完成登录。完成后,可以执行 edgeone pages dev 进入本地开发阶段。该命令会优先读取 edgeone.json 中的 devCommand 参数来启动 dev 服务,若没有该配置则会读取 package.json 的 dev 命令进行启动。切记请勿在 edgeone.json 或 package.json 中配置 edgeone pages dev!Edge Functions 调试服务有启动次数限制,因此尽量避免频繁退出启动 dev 服务(dev 服务内热更新不会增加启动次数)。执行命令默认会在本地 8088 端口起一个服务,Pages 函数的服务和 Pages 项目的服务都运行在同一个端口上,无需额外代理。访问 http://localhost:8088/ 即可查看效果。本地执行命令可以直接部署。edgeone pages deploy [<directoryOrZip>] [-n <projectName>] [-e <env>]参数说明: 需要部署的文件夹或 ZIP 包路径-n, --name: 需要部署的项目名称,项目不存在则自动创建新项目-e, --env: 部署目标环境,可选值: production 或 preview(默认 production)执行 deploy 时,CLI 会自动构建并部署项目;若手动构建,则需将 Pages Functions 相关文件夹及 package.json 放入输出目录(如 dist),再执行 edgeone pages deploy ./dist本地部署执行下列命令,部署的项目名为 tencent-edgeone-pages-kv-demoedgeone pages deploy . -n tencent-edgeone-pages-kv-demoKV存储和Pages Functions使用KV存储,我们需要在控制台申请。申请通过后,我们需要新建一个命名空间。创建成功后,点击进入。选择关联项目 -> 新建一个变量名,并绑定 样例工程(tencent-edgeone-pages-kv-demo)。同样也可以Pages控制台,点击项目,设置KV存储,选择绑定项目。绑定成功后,我们需在代码中执行 edgeone pages link 关联项目。> edgeone pages link √ Input your EdgeOne Pages project name ... tencent-edgeone-pages-kv-demo [cli][✔] Project tencent-edgeone-pages-kv-demo linked successfully.PS:此处有一个坑,关联项目后,会在当前项目生成 .edgeone 目录,我们在提交代码到Git的时候,不要把这个文件夹提交。云开发部署的时候会出现异常。关联成功后,我们再次执行 edgeone pages init 用于初始化 Pages Functions 和 Edgeone Pages 需要的基础环境。> edgeone pages init √ Do you want to create an Edge Function example? ... yes [cli][✔] Edge Function example created! √ Do you want to create a Node Function example? ... yes [cli][✔] Node Function example created! [cli][✔] .gitignore already contains Tencent Cloud EdgeOne configuration, do nothing! [cli][✔] Project init success!此时项目中会多出两个文件夹 edge-functions 和 node-functions ,执行 edgeone pages init 过程中会有两个提示,可以看上述命令记录。建议都创建,不影响使用。下面我们再次允许项目,执行 edgeone pages dev 后;访问 http://localhost:8088/helloworld-cloud 和 http://localhost:8088/helloworld-edge 可以看到下列效果,说明程序正常运行。现在我们来实现KV存储的使用,我们在项目 edge-functions 下新建一个 kv 目录,用于区分调用方。新建一个page-view.js 文件。填写以下代码内容,用于计算页面被访问了几次。export async function onRequestGet({ request, params, env }) { // 读取 Key-Value 数据 const visitCount = await siteConfig.get('visitCount'); let visitCountInt = Number(visitCount); visitCountInt += 1; // 写入 Key-Value 数据 await siteConfig.put('visitCount', String(visitCountInt)); const res = JSON.stringify({ visitCount: visitCountInt, }); return new Response(res, { headers: { 'content-type': 'application/json; charset=UTF-8', 'Access-Control-Allow-Origin': '*', }, }); }上述代码中,siteConfig 是我们之前绑定时新建的变量名称。访问 http://localhost:8088/kv/page-view 查看效果。现在我们改造首页,将这个访问量在首页显示。将下列代码替换到 src\views\Home.vue 中,原理就是调用Pages Functions生成的一个接口,调用它保存数据到KV存储中。<template> <div>欢迎访问 Tencent-Edgeone-Pages-KV-Demo项目</div> <div>当前访问量:{{visitCount}}</div> </template> <script> import { get} from "@/utils/api"; export default { name: 'Home', data() { return{ visitCount: 0 } }, created() { this.getVisitCount(); }, methods: { async getVisitCount(){ await get('/kv/page-view') .then(res => { this.visitCount = res.visitCount; }) } } } </script>我们再次部署,一起来看看效果吧。源码分享CNB Githubmain分支:基础工程deploy分支:成品项目(含KV和Pages Functions)
2025年10月16日
53 阅读
2 评论