我想为我的aws lambda函数添加一个图层。
图层文件夹的结构如下:
layers/
nameOfLayer/
--nameOfLayer.zip
--nodejs/
-- node_modules
-- package-lock.json
-- package.json
nameOfLayer.zip文件的结构如下:
nameOfLayer.zip
--nodejs/
-- node_modules
-- package-lock.json
-- package.json
如果我git push
这个到我的repo,我可以看到。zip文件,但没有nodejs文件夹。
我的.gitignore文件看起来像这样:
*.js
!jest.config.js
*.d.ts
!lambda/*.js
.vscode
!layers/*.json
node_modules
*.json
# CDK asset staging directory
.cdk.staging
cdk.out
为什么会发生这种情况,解决方案是什么?
Thanks in advance
EDIT_1:我的repo在CodeCommit。是否有比.gitignore文件更多的选项来设置东西?
我认为你想用!layers/**.json
代替!layers/*.json
前者匹配layers/file.json
,但不匹配layers/subdir/file.json
您需要使用双星号来匹配多个子目录。
参考:https://git-scm.com/docs/gitignore#_pattern_format
我将!package.json
添加到.gitignore
中可能不是最佳实践,但它有效