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

Twilio控制台UI中ESM代码报Unexpected token 'export',CommonJS正常

问题原因分析

核心原因:Twilio控制台UI函数默认采用CommonJS模式解析代码

虽然Node.js 18原生支持ESM,但Twilio Functions控制台UI创建的函数,默认是以CommonJS模式来解析执行代码的。当你使用ESM的export语法时,CommonJS的解析器无法识别该语法,因此直接抛出"Unexpected token 'export'"错误。

额外的代码写法问题

你尝试的外部import写法本身也存在错误:

const { createClient } = import('@supabase/supabase-js');

动态import()调用返回的是一个Promise,必须通过await或者.then()来获取结果,正确写法应该是:

const { createClient } = await import('@supabase/supabase-js');

但即使修正这个写法,只要控制台函数没切换到ESM模式,依然会因为export语法报错。

为什么CommonJS写法能正常运行?

你用exports.handler的CommonJS写法符合默认解析规则,所以可以正常执行,这和Twilio文档提到的"支持ESM"并不冲突——Twilio Functions确实支持ESM,但需要通过本地项目+Twilio CLI部署的方式,在项目中添加package.json并设置"type": "module"来开启ESM模式,而控制台UI目前不支持配置该选项,只能使用CommonJS语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:25:54