如何在AWS lambda, node.js v18中使用chromium生成PDF



我正在尝试使用AWS lambda, node.js v18,层和架构:x86_64生成@sparticuz/chromium .

我得到错误:

运行时。ImportModuleError: Error: Cannot find module"@sparticuz/铬">

层:

{
"name": "chrome_layer",
"dependencies": {
"@sparticuz/chromium": "108.0.1",
"puppeteer-core": "18.0.5"
}
}
代码:

const chromium = require('@sparticuz/chromium')
const puppeteer = require('puppeteer-core')
const browser = await puppeteer.launch({
args: chromium.args,
executablePath: await chromium.executablePath,
})

我也遇到过类似的问题。在我的案例中,我试图使用AWS CDK部署Lambda,而没有单独的层。

创建NodejsFunction时,在NodejsFunctionProps中传递两个东西:

  1. package-lock.json文件:

    depsLockFilePath: 'src/your-lambda-path/package-lock.json',
    
  2. 确保@sparticuz/chromium模块不会作为单个文件捆绑,而是在node_modules文件夹中传递:

    bundling.nodeModules: [
    '@sparticuz/chromium',
    ],
    

这样可以安装Chromium的二进制文件。

相关内容

  • 没有找到相关文章

最新更新