我有一个Netlify函数,它使用Puppeteer来呈现PDF。具体来说,puppeteer-core和chrome-aws-lambda。在这两个模块之间,包的大小几乎完全是一个函数的50 at限制(这个限制来自于Netlify函数使用的AWS Lambda )。因此,从ask-sdk (version 3)包导入S3客户端就无法再部署规模和功能了。
Lambda在默认情况下已经包含了aws,因此没有必要捆绑模块。然而,由于它是被导入的,Netlify的构建步骤认为应该包括它。
如何从函数包中排除模块?
发布于 2022-06-09 06:20:15
在您的netlify.toml中,有一个名为ignored_node_modules的[functions]的无证选项,它允许您指定一个节点模块数组,以便将其排除在包之外。
以下内容将忽略所有函数的模块。
[functions]
ignored_node_modules = ["aws-sdk"]也可以按名称指定特定的函数。
[functions.render]
ignored_node_modules = ["aws-sdk"]请注意,所有运行Node的Lambdas (甚至是Node 16 LTS)仍然使用aws-sdk (版本2),而不是使用@aws-sdk (版本3)。
对于任何好奇的人,我在Netlify CLI源代码中发现了这个选项这里。
https://stackoverflow.com/questions/72555525
复制相似问题