找不到模块与webpack的无服务器Lambda错误

时间:2020-08-28 10:29:53

标签: node.js webpack aws-lambda aws-serverless

我正在使用AWS lambda函数。我已为es6或更高版本的js配置了Webpack和babel。一切正常。我还为常见的nodejs模块实现了lambda层。 这是 serverless.yml

layers:
  commonLayer:
    path: layers/common
    description: nodejs common modules

这是lambda函数,其中正在使用 commonLayer

  second:
    handler: handlers/second.hello
    layers:
      - { Ref: CommonLayerLambdaLayer }
    events:
      - http:
          method: get
          path: second

我在 commonLayer 内编写了一个函数,以在 second 函数中使用,但是当我尝试运行 sls deploy 时,会出现此错误

ERROR in ./handlers/first.js
Module not found: Error: Can't resolve '/opt/nodejs/palindrome' in '/Users/adamanjum/Documents/workspace/serverless/handlers'
 @ ./handlers/first.js 2:0-48 11:12-22

Project Repository

1 个答案:

答案 0 :(得分:0)

您的palindrome的导入路径不正确。在handlers/first.js中,尝试将import palindrome from '/opt/nodejs/palindrome';更改为import palindrome from ../layers/common/nodejs/palindrome;