如何在esbuild生成的SAM/Lambda打包器中保留prisma静态文件夹
解决Lambda构建时prisma文件夹未被包含的问题
要让prisma文件夹被打包进Lambda部署包,只需在SAM的esbuild构建配置中添加静态文件复制规则,具体操作如下:
- 修改Lambda定义中的
Metadata.BuildProperties,新增CopyFiles配置项,指定prisma文件夹的复制路径:
MigrateFunction: Type: AWS::Serverless::Function Properties: FunctionName: .... CodeUri: ../src/ Handler: migrate.lambdaHandler Timeout: 900 Environment: Variables: DATABASE_URL: ... Metadata: BuildMethod: esbuild BuildProperties: Minify: false Target: "es2020" Sourcemap: true EntryPoints: - migrate.ts CopyFiles: - Source: ../prisma/ Destination: ./prisma/
- 配置说明:
Source:相对于CodeUri(即../src/)的源路径,../prisma/指向项目根目录下的prisma文件夹Destination:构建后部署包内的目标路径,./prisma/会在Lambda的代码根目录下生成prisma文件夹,保留原文件夹的所有内容
重新执行构建部署后,prisma文件夹就会出现在Lambda的代码目录中,函数可正常访问其中的schema.prisma文件。
内容的提问来源于stack exchange,提问作者clagccs
相关产品推荐
相关产品推荐

