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

基于aws-lambda构建无服务器apollo-server时部署失败报错

问题原因
  • 核心为serverless-webpack 5.4.4版本与当前环境存在兼容缺陷:该版本插件内部用于解析webpack构建输出路径的正则表达式,无法适配Node.js 16.x版本下生成的路径格式,正则匹配返回null后代码未做空值校验,直接访问null[1]触发TypeError。
  • 删除plugins和custom配置后相当于停用了serverless-webpack插件,跳过了插件的路径解析逻辑,因此可以正常部署,但会失去webpack打包能力。
解决方案

以下方案任选其一即可:

  • 方案一:升级serverless-webpack到兼容版本
    执行命令升级插件到5.5.0及以上版本,该版本已官方修复对应正则匹配兼容问题:
    npm install serverless-webpack@latest --save-dev
    
    升级后保持原有serverless.yml的plugins、custom配置不变,重新执行sls deploy --verbose即可正常部署。
  • 方案二:降级Node.js版本(临时适配方案)
    若暂时不方便升级插件,可将Node.js版本降级到14.x系列,该版本Node.js生成的路径格式可被serverless-webpack 5.4.4正常解析。
  • 方案三:临时修改插件内部逻辑(应急方案,不推荐长期使用)
    打开项目目录下node_modules/serverless-webpack/lib/cleanup.js文件,找到路径匹配的相关代码段,在取数组索引前增加空值判断,例如将result[1]修改为result?.[1] || ''即可规避报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:15:01