无服务器打包时,如何包括文件夹但排除该文件夹中的某些文件?

时间:2019-04-10 12:15:36

标签: serverless-framework serverless aws-serverless

我想包括node_modules,但不包括.bin目录以及.cache和.yarn-integrity文件,因为它们占用了lambda上的空间。

        exclude:
            - ./**
            - '!node_modules/**'
            - node_modules/.cache
            - node_modules/.bin
            - node_modules/.yarn-integrity

同样,我想包含“ server”文件夹,但不包括测试和eslint配置文件:

        exclude:
            - ./**
            - '!server/**'
            - server/**/*.test.js
            - server/.eslintrc.js

但是两者都不起作用,并且不排除文件。正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以包含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/