利用Cloudflare Workers
和 Workers KV
可以快速、安全且易于管理地托管静态资源。不同于将它们放在Github仓库然后通过raw link或是CDN,这种方式不会有一长串乱七八糟的链接,且可以使用你自己的域名。例如现在可以从https://s.a33.su/artiga033_0C79B2C5863375CC.asc获取我的PGP公钥。
Workers KV提供1GB存储(白嫖之王也可以把数据硬编码到worker代码里?),对于个人开发者足够了。
创建Workers KV
你需要创建一个Workers KV
,本文以名为命名空间为static
为例,然后为它添加Key-Value,建议使用文件名作为Key。
将 KV 绑定到 Worker
创建一个新的 Worker(以static
为例),转到设置
选项卡,添加KV绑定,这会要求你输入一个全局变量名,本文以STATIC_FILE
为例。
让 Worker 返回内容
在上一步定义的全局变量名可以直接在worker代码中调用,它有一个get方法来获得对应的Value:const value= await STATIC_FILE.get(name);
。
先写个function来生成Response,注意为它添加CORS标头方便跨站引用:
1 | async function getStaticFile(name){ |
现在 只需要获取URL请求中的Path 获取内容并返回:
1 | addEventListener('fetch', event => { |
一个最简单的静态文件托管就完成了,现在你只需要添加对应的Key-Value,就可以在任意场景从Worker引用这些内容!
Comments