无服务器框架。从包中排除不需要的功能

Yev*_*hen 5 amazon-web-services node.js aws-lambda serverless-framework serverless

我的服务结构:

-MyService
    -common
    -node_modules
    -functions_folder
        -Function1.js
        -Function2.js
        -Function3.js
Run Code Online (Sandbox Code Playgroud)

yaml文件:

service: MyService

provider:
  name: aws
  runtime: nodejs6.10
  stage: dev

functions:
    Function1:
       handler: functions_folder/Function1.handler
       memorySize: 512
       timeout: 10

    Function2:
       handler: functions_folder/Function2.handler
       memorySize: 512
       timeout: 10

     Function2:
       handler: functions_folder/Function3.handler
       memorySize: 512
       timeout: 10
Run Code Online (Sandbox Code Playgroud)

当我部署时,我有 3 个不同的 lambda 函数,但每个函数内部都包含 Function1.js、Function2.js、Function3.js。

有人可以解释一下如何从结果中排除不需要的 Lambda 文件吗?

Yev*_*hen 5

经过一段时间的研究,我找到了解决方案。所以这里是:

service: MyService

package:
  individually: true
  exclude:
    - ./**
  include:
    - common/**
    - node_modules/**

provider:
  name: aws
  runtime: nodejs6.10
  stage: dev
  memorySize: 512
  timeout: 10

functions:
    Function1:
       handler: functions_folder/Function1.handler
       package:
         include:
           - functions_folder/Function1.js

    Function2:
       handler: functions_folder/Function2.handler
       package:
         include:
           - functions_folder/Function2.js

     Function2:
       handler: functions_folder/Function3.handler
       package:
         include:
           - functions_folder/Function3.js
Run Code Online (Sandbox Code Playgroud)

因此,正如您在包部分中看到的,我添加了包含/排除部分,首先我排除了所有文件,然后我包含了 2 个需要的文件夹“common”和“node_modules”。在此之后,对于每个函数,我还使用 include 命令添加仅需要的文件。