子目录中的Sam本地模板处理程序

时间:2018-04-09 06:14:56

标签: node.js aws-lambda

我在名为api的子文件夹中有一个名为index.js的文件。 template.yaml位于根文件夹中。我试图将处理程序(index.js)添加到模板,但得到以下错误 -

Mounting /Users/......./services/api as /var/task:ro inside runtime container
START RequestId: 62e6c91c-8c27-167a-d34c-b2e7aab1d11e Version: $LATEST
Unable to import module 'index': Error
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/var/task/appLpVideoList.js:3:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

template.yaml看起来像 -

VideoList:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs6.10
      CodeUri: api/
      Events:
        EventDetail:
          Type: Api
          Properties:
            Path: /videos
            Method: get
      Environment:
          Variables:
            NODE_ENV: local

1 个答案:

答案 0 :(得分:-1)

因此,我没有使用sam本地,而是使用无服务器离线,它解决了我的问题。您可以在此处找到有关无服务器离线的详细信息 -

https://github.com/dherault/serverless-offline