我一直在努力解决这个问题。以下是我的目录结构:
lib
├── dir
│ ├── DirButNotOneSubdir
│ │ ├── DirIdontWantBecauseTheSizeIsTooLarge
│ │ └── DirIwant
│ ├── DirIdontWantBecauseTheSizeIsTooLarge
│ └── DirIwant
├── lambda1.py
└── lambda2.py
我需要的子目录中有一些目录,而其他目录则不需要。为简单起见,我减少了目录的数量,因此不能一一排除所有内容。这是我在 serverless.yml 中所做的事情:
package:
excludeDevDependencies: true
exclude:
- "*"
- "*/**"
- lib/dir/DirIdontWantBecauseTheSizeIsTooLarge
- lib/dir/DirButNotOneSubdir/DirIdontWantBecauseTheSizeIsTooLarge
include:
- lib/*
因此,当我检查.serverless lib / dir中的zip文件时,它被完全忽略了:(而且,我现在唯一想到的解决方案是明确提及要包含的每个目录。有人解决了此问题。
首先包括所有内容,然后再排除一些目录,这似乎也不起作用。
注意:这是建立代码的一种旧式C代码,因此从目前的状态更改结构确实非常严峻。
答案 0 :(得分:1)
尝试一下:
package:
exclude:
- '*/**'
include:
- 'lib/**'
- '!./lib/dir/DirIdontWantBecauseTheSizeIsTooLarge'
- '!./lib/dir/DirButNotOneSubdir/DirIdontWantBecauseTheSizeIsTooLarge'
它应该包含lib/
下的所有内容,但您不要求的文件除外。通过使用!
,您可以标记要在包含步骤中忽略的文件和目录。