You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cloudflare Worker脚本中正确使用ES6 exports语法?

你遇到的报错是因为两段代码对应Cloudflare Workers的两种不同编写规范:第一段是传统Service Worker格式,依靠addEventListener注册事件触发运行;第二段是更新的Module Worker格式,通过ES模块默认导出的对象定义事件处理逻辑,你使用的旧模板默认不支持Module Worker语法,所以直接替换代码会触发找不到事件处理器的报错。

你可以选择以下任意一种方案解决问题:

方法1:保留新的示例代码,修改配置适配Module Worker模式

  • 打开项目根目录的wrangler.toml配置文件,添加如下配置项:
type = "module"
compatibility_date = "2023-01-01"
  • 确认你的worker JS文件内容就是那段export default的示例代码,直接执行wrangler publish即可正常部署。

方法2:不修改配置,把示例逻辑整合到原有代码中

不需要替换全部原有代码,只需要把原有handleRequest函数里的返回逻辑替换成示例里返回HTML的逻辑即可,整合后完整代码如下:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const html = `<!DOCTYPE html>
    <body>
      <h1>Hello World</h1>
      <p>This markup was generated by a Cloudflare Worker.</p>
    </body>
  `;
  return new Response(html, {
    headers: {
      "content-type": "text/html;charset=UTF-8",
    },
  });
}

修改完直接执行wrangler publish即可正常部署。

内容的提问来源于stack exchange,提问作者Wintermute

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:01