无服务器打包时如何包含文件夹但排除该文件夹内的某些文件?
How to include folder but excluding some files inside that folder when packaging for serverless?
我想包含 node_modules,但排除 .bin 目录以及 .cache 和 .yarn-integrity 文件,因为它们在 lambda 上占用 space。
exclude:
- ./**
- '!node_modules/**'
- node_modules/.cache
- node_modules/.bin
- node_modules/.yarn-integrity
同样,我想包含 'server' 文件夹,但排除测试和 eslint 配置文件:
exclude:
- ./**
- '!server/**'
- server/**/*.test.js
- server/.eslintrc.js
但都没有用,文件也没有被排除。正确的做法是什么?
您可以包含 node_modules/ 目录同时排除 node_modules/.bin 目录,如下所示:
package:
exclude:
- node_modules/.bin/**
默认情况下仅排除这些目录:
.git/**
.gitignore
.DS_Store
npm-debug.log
.serverless/**
.serverless_plugins/**
因此您无需指定要包含 node_modules/
和 server/
- 它们将是默认值。只需指定要排除其中的哪些子目录。
来源:https://serverless.com/framework/docs/providers/aws/guide/packaging/
我想包含 node_modules,但排除 .bin 目录以及 .cache 和 .yarn-integrity 文件,因为它们在 lambda 上占用 space。
exclude:
- ./**
- '!node_modules/**'
- node_modules/.cache
- node_modules/.bin
- node_modules/.yarn-integrity
同样,我想包含 'server' 文件夹,但排除测试和 eslint 配置文件:
exclude:
- ./**
- '!server/**'
- server/**/*.test.js
- server/.eslintrc.js
但都没有用,文件也没有被排除。正确的做法是什么?
您可以包含 node_modules/ 目录同时排除 node_modules/.bin 目录,如下所示:
package:
exclude:
- node_modules/.bin/**
默认情况下仅排除这些目录:
.git/**
.gitignore
.DS_Store
npm-debug.log
.serverless/**
.serverless_plugins/**
因此您无需指定要包含 node_modules/
和 server/
- 它们将是默认值。只需指定要排除其中的哪些子目录。
来源:https://serverless.com/framework/docs/providers/aws/guide/packaging/