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

AWS Lambda Node.js Runtime.ImportModuleError问题原因排查求助

AWS Lambda Runtime.ImportModuleError错误原因分析

问题场景

  • Lambda函数:sensor-processor-v3-dev-wifiConnector
  • 处理器配置:src/wifi.connector
  • 部署包:serverless-v3.zip,包含webpack编译后的JavaScript代码,文件夹结构与本地src/*.js一致
  • 执行命令:
    aws lambda invoke --function-name sensor-processor-v3-dev-wifiConnector output.json
    
  • 返回错误:
    {
        "errorType": "Runtime.ImportModuleError",
        "errorMessage": "Error: Cannot find module 'wifiConnector'\nRequire stack:\n- /var/runtime/index.mjs",
        "trace": [
            "Runtime.ImportModuleError: Error: Cannot find module 'wifiConnector'",
            "Require stack:",
            "- /var/runtime/index.mjs",
            "    at _loadUserApp (file:///var/runtime/index.mjs:1061:17)",
            "    at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1093:21)",
            "    at async start (file:///var/runtime/index.mjs:1256:23)",
            "    at async file:///var/runtime/index.mjs:1262:1"
        ]
    }
    

错误原因

  • 处理器配置与实际文件不匹配:Lambda处理器的格式为[文件路径/文件名].[导出函数名](无需扩展名)。你配置的src/wifi.connector表示Lambda会查找src/wifi.js并加载其中的connector函数,但实际部署包内的文件是src/wifiConnector.js(与本地结构一致),导致找不到对应模块。
  • webpack编译导致路径/导出变更:如果webpack将代码打包为单个文件(如bundle.js),但你仍使用原src路径的处理器配置,Lambda无法定位到正确的模块。需将处理器改为指向webpack输出的打包文件及其导出的处理函数,例如bundle.handler(假设打包文件为bundle.js,导出函数为handler)。
  • 文件名大小写或扩展名问题:Lambda运行环境区分大小写,需确认部署包内的文件名与配置完全匹配;同时检查打包后的文件扩展名是否为.js,否则Lambda无法识别为可加载模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:13:33