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

AWS Lambda(Node.js 14.x)出现SyntaxError: Unexpected token 'export'错误求助

AWS Lambda(Node.js 14.x)出现SyntaxError: Unexpected token 'export'错误求助

嘿,我来帮你捋捋这个问题!这个错误的根源其实很明确:你在Index.js里用了ES模块的export语法,但Node.js 14.x版本的Lambda默认是使用CommonJS模块系统的,它根本不认识export这个关键字,所以直接抛出了语法错误。

最直接的修复方案

你只需要把Index.js里的导出语句改成CommonJS的格式就行,和你Register.js里的写法保持一致:

原来的代码:

export const handler = async(event) => {
  // 你的代码逻辑
};

改成:

exports.handler = async(event) => {
  // 你的代码逻辑
};

为什么你之前的尝试没解决问题?

  • 加"type": "module"到package.json:这会让Node.js把所有文件当作ES模块,但这样你所有的require语句都得改成import(比如const registerService = require('./services/register')要改成import registerService from './services/register.js'),而且Node.js 14.x对ES模块的支持还是实验性的,Lambda环境下容易出现其他兼容性问题。
  • 升级到Node.js 18.x:虽然18.x对ES模块支持更好,但如果你还是混合使用require和export,依然会报错,需要全量替换模块语法,反而不如直接改成CommonJS来得省心。

验证修复

修改完导出语句后,重新部署你的Lambda函数,再用Postman测试接口,这个语法错误应该就消失啦!

备注:内容来源于stack exchange,提问作者Muhammad Gajendra Adhirajasa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:03:06