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

AWS Lambda出现ReferenceError:exports未在ES模块作用域定义求助

解决AWS Lambda中“exports is not defined in ES module scope”错误

错误原因

你用了.mjs后缀的文件,这是ES模块(ECMAScript Modules)的标识,而exports.handler是CommonJS模块的导出语法——两种模块系统不兼容,所以触发了ReferenceError。

解决方法

方法1:改用ES模块导出语法

把原代码里的CommonJS导出改成ES模块的格式:

export const handler = async (event) => {
  // 你的Hello World逻辑示例
  const { firstName, lastName } = event;
  return {
    statusCode: 200,
    body: JSON.stringify(`Hello, ${firstName} ${lastName}!`)
  };
};

方法2:切换为CommonJS模块格式

如果想继续用exports.handler,直接把文件名从index.mjs改成index.js即可——Lambda默认会将.js文件按CommonJS模块处理,无需额外配置。

额外注意

  • 若坚持用.mjs,确保你的Lambda运行时是Node.js 14.x及以上版本(这些版本原生支持ES模块)
  • 测试事件的JSON要保证格式正确,比如:
{
  "firstName": "Jane",
  "lastName": "Smith"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:05:21