繁体   English   中英

如何将 chrome-aws-lambda 模块与 AWS lambda 函数一起使用?

[英]How to use chrome-aws-lambda module with AWS lambda functions?

我正在尝试通过 node.js lambda function 使用 chrome-aws-lambda 从 HTML 生成 pdf。我使用本 手册创建了一个图层。 此外,我尝试将现有与我的 function 一起使用,但我总是收到错误消息: Cannot read property 'puppeteer' of undefined 我的处理程序看起来像:

import chromium from 'chrome-aws-lambda';    
export const handler: Handler = async (event: AppsyncEvent) => {
      ...
      try {
        browser = await chromium.puppeteer.launch({
          args: chromium.args,
          defaultViewport: chromium.defaultViewport,
          executablePath: await chromium.executablePath,
          headless: chromium.headless
        });
    ....
      } finally {
    ....
      }
    }

serverless.yml 中的 webpack 设置

webpack:
    webpackConfig: ../webpack.config.js
    includeModules:
      packagePath: '../package.json'
      forceInclude:
        - source-map-support
      forceExclude:
        - aws-sdk
        - chrome-aws-lambda

webpack.config.js

module.exports = {
    mode: slsw.lib.webpack.isLocal ? 'development' : 'production',
    devtool: 'source-map',
    resolve: {
        extensions: ['.js', '.jsx', '.json', '.ts', '.tsx']
    },
    output: {
        libraryTarget: 'commonjs',
        path: path.join(__dirname, '.webpack'),
        filename: '[name].js'
    },
    target: 'node',
    externals: ['chrome-aws-lambda'],
    module: {
        rules: [
            {test: /\.tsx?$/, loader: 'ts-loader'}
        ]
    },
    plugins: []
}

你能帮我解决这个问题吗?

所以,问题出在进口上。 我变了

import chromium from 'chrome-aws-lambda'

const chromium = require('chrome-aws-lambda')

错误消失了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM