![](/img/trans.png)
[英]chrome-aws-lambda + lighthouse always results in NO_SCREENSHOTS
[英]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.