【问题标题】:How do I reference a function that is not in the root folder using the Serverless Framework?如何使用无服务器框架引用不在根文件夹中的函数?
【发布时间】:2017-07-14 17:35:10
【问题描述】:

我正在使用 Serverless Framework 1.x,我想定义我的 serverless.yml 以引用位于另一个文件夹(而不是根级别)中的函数。

例如,在以下文件夹结构中,我想引用一个在文件夹 functions 内的 function1.js 文件中定义的 handler() 函数。

serverless.yml
functions/
  function1.js
  function2.js
  function3.js
package.json
node_modules/
  ..

我看到的所有示例都考虑了文件位于根目录中的以下基本场景:

serverless.yml
handler.js

serverless.yml 文件的定义如下:

functions:
  hello:
    handler: handler.hello

【问题讨论】:

  • 我已经自行回答了这个问题,希望对未来的读者有所帮助。这个问题的灵感来自this one

标签: node.js amazon-web-services aws-lambda serverless-framework


【解决方案1】:

无服务器框架使用以下语法访问其他文件夹中的函数:

folder/filename.function

所以,如果我们有一个名为 function1.js 的文件,其中包含一个函数 handler(),我们希望在调用 Lambda 函数时执行该文件,我们在 serverless 中使用以下定义.yml 文件:

service: example

functions:
  func1:
    handler: functions/function1.handler
  func2:
    handler: functions/function2.handler

这同样适用于多个级别的文件夹:

folder/folder/folder/filename.function

【讨论】:

    猜你喜欢
    • 2017-12-29
    • 2019-01-28
    • 2021-10-07
    • 1970-01-01
    • 2022-11-10
    • 2020-02-25
    • 2018-08-21
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多