问题描述
我正在使用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
解决方法
您的palindrome
的导入路径不正确。在handlers/first.js
中,尝试将import palindrome from '/opt/nodejs/palindrome';
更改为import palindrome from ../layers/common/nodejs/palindrome;
。