这个问题是由于AWS SAM使用Esbuild来打包Lambda函数,但当前项目中没有安装esbuild所导致的。解决方法是在项目中安装esbuild,如下所示:
npm install --save-dev esbuild
确保已安装了npm,如果没有安装可以前往npm官网下载安装。
安装完毕后再次运行AWS SAM打包命令,即可成功打包Lambda函数。
示例代码:
以下是使用esbuild打包Lambda函数的示例代码:
const esbuild = require("esbuild");
esbuild.build({ entryPoints: ["src/index.ts"], outfile: "dist/index.js", platform: "node", target: "node14", bundle: true, external: ["aws-sdk"], }).catch(() => process.exit(1));