当前位置: 首页 > news >正文

【截图服务 +打包】pkg打包 puppeteer

目录

最后结论

windows打包成服务 

定制executablePath 

 

服务遇到的问题

 使用java开一个线程启动

遇到的问题与解决

版本匹配问题

打出包后的运行报错问题

linux下的安装

安装n

库缺少

程序运行后的报错

制作

运行报错与修改后成功

参考文档


最后结论

pkg -t win --public ./screenshots.js --output ./dist/screen.exe

服务启动:

postman调用 : 

windows打包成服务 

  

D:\web-video-platform\nssm.exe install wvp-screen  "D:\web-video-platform\chrome\screen"
rem D:\web-video-platform\nssm.exe set wvp-screen AppDirectory "D:\web-video-platform\chrome"
D:\web-video-platform\nssm.exe start wvp-screen

定制executablePath 

 

{"executablePath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
}

使用方法 

const config2 = require("D:\\web-video-platform\\chrome\\puppeteer.config.json");

 

服务遇到的问题

    会找不着系统默认的chrome位置 

    会有时候截图是空

 使用java开一个线程启动

     会截图几次后服务死掉

 

遇到的问题与解决

版本匹配问题

pkg 这里说的是v3.5,实际装的是5.8.1,没有关系;可以向下兼容。

但node 18.15.0以上的就没有能与pkg相匹配相适应 的, 所以只能选 这个 。

node,21 ,19.8.1 在工程里都试过了,工程本身可以,但pkg进行打包时,说明pkg没有找到能匹配 》19版本的实现,所以,只能选  18.15.0 

打出包后的运行报错问题

 如下解决nodejs + pkg+ puppeteer 路径问题以及 Passed function is not well-serializable 问题_passed function cannot be serialized!-CSDN博客

linux下的安装

安装n

由于gcc没有装,先装gcc ;然后再装glibc23 

linux文件版本管理,Linux下使用n来管理多版本NodeJS-CSDN博客

库缺少

 /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ../../bin/xxx)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../../bin/xxx)
————————————————

            Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found-CSDN博客 

因为已经安装了gcc 9.x的版本,所以找找就好

# 查询本机的so库
find / -name "libstdc++.so.*"

cp /usr/local/gcc/...../libstdc++.so.6.0.28 /usr/lib64

ln -snf ./libstdc++.so.6.0.28 ./libstdc++.so.6

程序运行后的报错

Error: Failed to launch the browser process! /root/.cache/puppeteer/chrome/linux-123.0.6312.58/chrom

centos puppeteer问题汇总_missing x server or $display-CSDN博客

制作

pkg -t linux --public ./screenshots.js --output ./dist/screen

运行报错与修改后成功

如果 没有装浏览器,会报错

Error: Failed to launch the browser process! /root/.cache/puppeteer/chrome/l

我们直接装下chrome 

成功! 

地址 10.60.100.194: /home/java/mesh/screen/dist

参考文档

nodejs + pkg+ puppeteer 路径问题以及 Passed function is not well-serializable 问题_passed function cannot be serialized!-CSDN博客

#打包 #exe #pkg 使用 pkg 将 nodejs 打包编译为 exe_pkg打包nodejs-CSDN博客

Releases · vercel/pkg-fetch (github.com)

主要是这个工程参考

netwild/screenshots: A small tool based on Nodejs environment, using Puppeter to take full screen screenshots of any webpage (github.com)

安装n需要的更新 :

升级glibc (gcc make等)

 CentOS上升级glibc2.17至glibc2.31_glibc 升级-CSDN博客

http://www.lryc.cn/news/434915.html

相关文章:

  • 深入理解Servlet的并发处理机制小波制图流程图
  • Ajax和XMLHttpRequest之间的关系
  • Linxu系统:kill命令
  • 解决缺少genconfig
  • 百易云资产管理运营系统 house.save.php SQL注入漏洞
  • 【安卓13 源码】Input子系统(3) - EventHub增加设备的流程
  • 基于JAVA+SpringBoot+Vue的网上商城系统的设计与实现
  • Mysql基础练习题 1729.求关注者的数量 (力扣)
  • 【鸿蒙HarmonyOS NEXT】页面和自定义组件生命周期
  • Node.js Express 框架
  • 生日贺卡录放音芯片,多段音频录音ic生产厂商,NVF04M-32minute
  • 电影《西施新传》首映礼,九月金秋全国正式公映
  • 【H2O2|全栈】关于CSS(1)CSS基础(一)
  • 动态规划算法之背包问题详细解读(附带Java代码解读)
  • Vue3+TypeScript二次封装axios
  • 华为 HCIP-Datacom H12-821 题库 (16)
  • 【论文分享精炼版】 sNPU: Trusted Execution Environments on Integrated NPUs
  • MyBatis 入门之动态 SQL
  • 软工大二学生待办事项:
  • MongoDB延迟查询
  • python如何获取html中的所有链接
  • 79-java static修饰的类能不能被继承
  • MacOS wine中文乱码问题
  • 基于Springboot的鲜花销售网站的设计与实现
  • 安卓玩机工具-----适合安卓机型的“搞机工具箱” 功能齐全 玩机推荐
  • 数据分析-17-时间序列分析的平稳性检验
  • Unity3D Android多渠道极速打包方案详解
  • 数据库中的主键和外键分别是什么意思?
  • HTML5中`<ul>`标签深入全面解析
  • MongoDB日志级别