问题标签 [cloudflare-workers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
395 浏览

twilio - 当 CURL 工作时 POST 请求错误

我正在尝试使用 cloudflare worker(粘贴在下面)通过 Twilio API 发送 SMS 消息。CURL 请求(也粘贴在下面)我让工作人员停止工作。

根据工作人员的 400 错误,消息正文未正确传递 {"code": 21602, "message": "Message body is required.", "more_info": "https://www.twilio.com/docs/errors/21602", "status": 400}

但代码对我来说看起来不错。我们至少可以确认标头已正确传递,因为弄乱授权值会更改错误。

我还查看了模板库中的示例 POST 请求,但看不到失败的原因。 https://developers.cloudflare.com/workers/templates/pages/post_json/

我需要在我的工作人员代码中进行哪些更改才能使 POST 请求正常工作?

注意:我知道我不应该将 Twilio Auth 令牌放在正文中,但我稍后会轮换密钥。

0 投票
1 回答
1699 浏览

angular - 如何让 Angular 应用程序与 Cloudflare Workers - Workers Sites 一起使用

我正在努力让 SPA 使用 Angular 和 Cloudflare 的 Workers Sites。我正在遵循此处找到的教程(但补充了 Angular-not React 的步骤),一切都很好,直到发布后我收到浏览器错误-在您的内容命名空间中找不到 index.html

到目前为止,我的故障排除让我在下面链接:

https://github.com/cloudflare/kv-asset-handler#servesinglepageapp

但是我不确定如何为 Angular 配置/使用本指南,以便解决我的上述问题。

0 投票
1 回答
234 浏览

vue.js - 在静态站点上提供非生成文件

我正在 Cloudflare 工作人员上使用 Nuxt 部署一个静态生成的站点。到目前为止效果很好。

我在生成时生成了大部分静态文件,但是,在某些情况下我无法生成文件,例如,下订单时,我无法生成/order/82781路线。我如何使用 .htaccess 来服务,我猜是 index.html 文件?如果它不存在,那么 vue/nuxt 将接管,并发送请求以查找订单?

位置是:/my-account/orders/{some_id}

我已经尝试在 /my-account/orders 目录中使用这个 htaccess:

但这不起作用。如果我直接访问 URL,我会收到此错误:

0 投票
1 回答
108 浏览

javascript - 多次更换

注意下面的代码

此代码工作正常说明:我将用此代码替换/product//p-现在我将用b.comstatic.a.com替换这些a.com值与cdn.b.com 我'将在这段代码中全部替换它们

0 投票
1 回答
432 浏览

amazon-web-services - 使用 Cloudflare 通过通配符记录子域访问 AWS S3

我正在尝试关注这篇关于 cloudflare的文章,了解如何通过子域获取 Amazon S3 资产。

当我使用 DNS 手动定义特定子域时,它按预期工作,如下所示:

CNAME ----- 资产 ------ fullpage.sites.s3-website-us-west-1.amazonaws.com --- 橙色云图标 在此处输入图像描述

然后我可以在使用时访问我的亚马逊文件: https ://assets.example.com

但是,我想使用通配符,以便可以将每个子域重定向到我的 Amazon S3 存储桶内的文件夹。我不想手动定义这些子域,因为这是我的网络用户将在他们的网络应用程序中生成的东西。

因此,我使用通配符 NAME 添加以下记录。CNAME ----- * ------ fullpage.sites.s3-website-us-west-1.amazonaws.com --- 灰色云图标 在此处输入图像描述

请注意,我不允许使用“橙色云图标”(代理),我必须使用灰色图标(仅限 DNS)

现在此 URL 按预期停止工作: https ://assets.example.com

我得到一个aws错误:

404 未找到

  • 代码:NoSuchBucket
  • 消息:指定的存储桶不存在

这是怎么回事?

我该如何解决这个问题?

0 投票
1 回答
643 浏览

cloudflare - Cloudflare 工作人员重定向到新 URL 不起作用

我正在尝试根据这篇文章在我的网站上建立一个博客(作为子目录/子页面。所以,我的网站托管在这里,我希望这个子页面(/officiano) 呈现来自我的其他网站之一的内容 -这个自定义域甚至它的 Netlify 域。

我已经使用路由 .remotework2020.com/ 设置了一个可能的工作人员,并且工作人员的代码与帖子中的代码相同。我可以看到评估正确发生(通过控制台日志),但是,当我转到子目录时,它只会引发 404 错误。

任何人都可以帮助解决问题吗?

编辑:

在下面粘贴整个工人代码:

0 投票
2 回答
1271 浏览

javascript - 来自 fetch 方法的响应对象中的字段未定义

我正在尝试为一个带回家的挑战编写一个 cloudflare worker 脚本。我需要urls在我的脚本中获取存储在 var 中的给定 url,这将给出一个包含两个 url 的 json 数组。我需要向数组中的一个 url 发出获取请求,这里是我编写的代码

这是 urls变量包含的 JSON

但我看到当我尝试访问数组中的第一个对象时,它是未定义的,因为我收到了这个错误

请帮我找出原因并提出解决方案。我猜我在这里无法理解有关异步 Javascript 的一些概念。

0 投票
1 回答
22 浏览

url - 更改浏览器 URL 栏文本

我在托管服务提供商中拥有一个域(只是域)。此域指向另一个网址:

domain.com-->anotherdomain.dom/path

另一方面,我已将我的域添加到我的 Cloudflare 帐户,如下所示:

domain.com-->Cloudflare-->anotherdomain.dom/path

问题是输入后domain.dom,浏览器 URL 栏中的 URL 文本是anotherdomain.dom/path,我需要它domain.com

是否可以domain.com在浏览器的 URL 栏中有?我必须在我的.htaccess文件中写一些代码还是在里面写一些代码anotherdomain.com?我是否必须在 Cloudflare 内部做点什么(可能是“工人”)?

0 投票
1 回答
850 浏览

javascript - ReferenceError:TransformStream 未定义

我正在尝试使用 Cloudflare Workers 测试 Fast Google Fonts的实现,来自 Cloudflare 的博客,用于将 Google Fonts 样式表直接内联到 HTML 中。通过 Cloudflare 工作程序运行时,实现本身似乎运行良好。但是我写了一些测试,在运行测试时,我得到了这个错误,说TransformStream没有定义。

通过以下方式运行我的 Jest 测试时出错npm run test

这是测试命中的代码:

这个测试看起来像这样,我们基本上期望样式表链接将被样式表本身替换,包含所有@font-face样式。

我不确定这里的问题是什么。TransformStream在节点中工作吗?是否需要一些 polyfill?

相关: Cloudflare 流

0 投票
1 回答
473 浏览

javascript - HTTP/2 服务器推送不适用于 JavaScript 文件

我正在尝试使用以下代码通过 CloudFlare Workers 实现 HTTP/2 服务器推送:

我也尝试过添加跨域

但它不起作用。

在第一种情况下,开发人员控制台确实显示文件正在从 CloudFlare 服务器推送以及 html 响应。但浏览器不使用该文件并重复请求再次下载该文件。

在第二种情况下,开发者控制台显示浏览器确实尊重预加载的标头,但文件的内容不是从 Cloudflare 服务器推送的,浏览器必须单独请求拉取 javascript 文件,尽管它在收到后立即发出请求html文件。

我想要的是 cloudflare 服务器推送文件和浏览器以使用该推送文件而不发出重复请求?

令人惊讶的是,下面的代码非常适用于 css 文件:

但不适用于任何其他内容,如 javascript 字体文件、图像等。

谁能指导我在这里缺少什么?