Cloudflare workers - 如何使用(起步篇)
Cloudflare workers - 如何使用(起步篇)
Cloudflare Workers 是一种基于 JavaScript 的无服务器计算平台,允许你在 Cloudflare 的边缘网络上运行代码,而无需管理传统的服务器基础设施。它能在全球范围内的 Cloudflare 数据中心上执行代码,以提供快速、低延迟的服务。
创建Cloudflare workers应用
安装
wrangler
确保机器上安装了Node.js
使用
npm
安装wrangler
:1
npm install -g wrangler
或者使用
yarn
安装:1
yarn global add wrangler
登录Cloudflare账号
执行命令:
1
wrangler login
在弹出的浏览器窗口中登录Cloudflare账户(这里可能需要一下特殊网络环境)
如果你使用
powershell
运行且提示:1
2
3
4
5
6wrangler : 无法加载文件 F:\OtherApps\Program\Node\node-v16.13.1-win-x64\wrangler.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ wrangler
+ ~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess那么可以使用如下命令允许本地脚本运行,并要求从互联网下载的脚本必须有有效的签名:
1
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
如果希望恢复禁止所有脚本运行,可以使用如下命令恢复:
1
Set-ExecutionPolicy Restricted -Scope CurrentUser
创建Worker项目
创建一个名为
api
的项目:1
wrangler generate api
这将会在当前目录下生成一个
api
文件夹,文件中中包含一个wrangler.toml
文件:1
2name = "api"
compatibility_date = "2024-12-09"编写Worker代码
在生成的
api
文件夹下,创建index.js
文件并写入以下内容:1
2
3
4
5
6
7
8
9addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
return new Response('Hello, world!', {
headers: { 'content-type': 'text/plain' },
})
}编辑
wrangler.toml
,添加如下一行(设置入口点为index.js
)1
main = "index.js"
开发和测试
使用以下命令在本地开发和测试:
1
2cd api
wrangler dev如果出现以下报错,请安装vc_redist最新版
1
2
3
4
5
6
7
8
9X [ERROR] There was an access violation in the runtime.
On Windows, this may be caused by an outdated Microsoft Visual C++ Redistributable library.
Check that you have the latest version installed.
See https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist.
X [ERROR] The Workers runtime failed to start. There is likely additional logging output above.如果想在本地开发时直接使用生产环境中的D1数据库(Cloudflare D1),则需要
wrangler dev --remote
部署到Cloudflare
1
wrangler deploy
拉取代码到本地
如果在Cloudflare dashboard(网页端)对内容进行了修改,可执行以下命令将内容拉取到本地:
1
emm,似乎只能手动复制文件的到本地。。
End
原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/144488128
Cloudflare workers - 如何使用(起步篇)
https://blog.letmefly.xyz/2024/12/09/Other-CloudflareWorkers-How2use/