小编Lam*_*Lam的帖子

无法使用 Nodejs14.x ES 模块在 AWS lambda 中导入包

我有一个层,其中 node_modules 的路径是nodejs/node14/node_modules

使用该层,我尝试在 Lambda 函数中导入一个包,例如“aws-cloudfront-sign”,如下所示:

import cfsign from 'aws-cloudfront-sign'
Run Code Online (Sandbox Code Playgroud)

我收到错误消息

Cannot find package 'aws-cloudfront-sign' imported from /var/task/signer.js\nDid you mean to import aws-cloudfront-sign/lib/cloudfrontUtil.js?
Run Code Online (Sandbox Code Playgroud)

但是如果我像这样导入包:

import cfsign from '/opt/nodejs/node14/node_modules/aws-cloudfront-sign/lib/cloudfrontUtil.js'
Run Code Online (Sandbox Code Playgroud)

它成功了。

你知道为什么吗?如何正确导入包?

aws-lambda node-js-14 esmodules

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

aws-lambda ×1

esmodules ×1

node-js-14 ×1