demo写完,在window环境下,测试一路畅通无阻,部署到linux上,处处碰壁,加上网上的资料案例比较少,在经历了一下午的摸索,得到解决方案。
前置介绍:
包版本:"puppeteer": "^3.3.0",
linux服务器发行版:Centos(其他版本也是一样的)
流程开始:
1.因为http服务使用了express,页面结合express-art-template,读取模板渲染返回,正常情况下,把项目上传到linux上,使用域名访问时访问不了的。
解决方案:
1.1 找后端小哥哥 配置nginx 进行转发,这里不进行介绍,只介绍前端的工作。
2.上传完项目文件后,没有安装node环境的需要安装node环境(部分linux版本自带node),正常情况下 公司网络没有翻墙,是无法正常使用 npm 安装 puppeteer 包的,Chromium 会下载不下来。
解决方案:
2.1 修改 npm 下载的镜像源为淘宝镜像。
2.2 更换包管理工具为 cnpm。
3.项目包依赖安装完成后,执行命令 启动服务,当代码逻辑需要用到 puppeteer 这个包的时候,控制台会报错,
报错信息:"UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process!"