Node.js 木偶演员无法启动浏览器
我目前正在开发一个AWS Lambda,它可以从HTML生成PDF。lambda在部署后可以完美地工作,但是我希望它能够在本地运行,以使开发更容易 我已经安装了来自AWS的SAM和Docker,AWS说在本地运行lambda需要它们 在命令行中的“我的解决方案”文件夹中,我正在运行Node.js 木偶演员无法启动浏览器,node.js,amazon-web-services,docker,aws-lambda,pdf-generation,Node.js,Amazon Web Services,Docker,Aws Lambda,Pdf Generation,我目前正在开发一个AWS Lambda,它可以从HTML生成PDF。lambda在部署后可以完美地工作,但是我希望它能够在本地运行,以使开发更容易 我已经安装了来自AWS的SAM和Docker,AWS说在本地运行lambda需要它们 在命令行中的“我的解决方案”文件夹中,我正在运行sam local invoke“HelloWorldFunction”-e pdf/test data/test.json,它表示正在获取它,然后将它装载到本地docker容器中。但是,它会出现以下错误: 这似乎
sam local invoke“HelloWorldFunction”-e pdf/test data/test.json
,它表示正在获取它,然后将它装载到本地docker容器中。但是,它会出现以下错误:
这似乎是关于chrome的Puppeter可执行文件不存在的错误,即使它在那里。我使用以下变量:
const chromium=require(“chrome aws lambda”);
const puppeter=require('puppeter');
const pptr=require('puppeter-core');
然后,我用来启动浏览器的代码如下:
const executablePath=event.isOffline
? “/node_modules/puppeter/.local chromium/win64-737027/chrome-win/chrome.exe”
:等待chromium.executablePath;
browser=等待chromium.puppeter.launch({
args:chromium.args,
defaultViewport:chromium.defaultViewport,
可执行路径:可执行路径,
无头:铬。无头
});
我尝试了木偶师故障排除中给出的设置,重新安装了我的软件包,但似乎没有任何效果。我的软件包还包括以下版本:
我以前没有和docker合作过,所以我不确定这是否是问题所在?提前感谢您的帮助。看起来我必须使用chrome aws lambda提供的路径。因此,生成浏览器的代码如下所示,并且可以正常工作:
browser=wait chromium.puppeter.launch({
args:chromium.args,
defaultViewport:chromium.defaultViewport,
可执行路径:等待chromium.executablePath,
无头:铬。无头
});