pkg打包的用途就是
nodejs文件打包成exe执行程序文件.
这里我来记录一些需要注意的点,网上很多就是复制粘贴,千篇一律的就那些文章,我真的很无语…
我是通过下面两个教程会了那么一点点,对于相对简单的nodejs程序还是很容易打包的,
https://jingsam.github.io/2018/03/02/pkg.html
https://www.senrokumon.com/pkg-package-application/
但是项目来了,
老板让我把一个比较复杂的nodejs项目项目打包,里面涉及到很多的文件夹和静态文件,还有程序入口中,
读取文件的方式要注意哪些(上面的教程),因为使用的地方太多了,我几乎要放弃了,结果老板整出来了,虽然有些自卑,但是整出来了,就是棒棒棒!!!
下面附上我项目打包的一些为文件,总结几个注意点:
1.package.json中,pkg配置当中
script把所有js引入了,node_modules也引入了
assets中json文件,js,node_modules也引入了,还引入了dist,这个dist是我的项目里的前端网页文件,因为这个server启动,需要用到,所以要把前端网页也打包进去(这是我没有想到的,我老板想到的).
cfb20ab6684a76475b3dcff6b4c6cd8.png
2.把一些相关的__dirname更换成process.cwd() (没错,是小写的cwd,不是大写的),这个也是看你的代码,我这里是随缘750c09c0ab219a5552a263d0b7890fe.png
3.打包的过程
碰见warning不要怕,反正不是error,哈哈哈
image.png
看这么多warning错误,不要怕…哈哈哈哈
image.png
4.打包的结果,最顶的就是这个,你打包成exe了,执行闪退,你需要把这个js文件放在同级目录下,才可以.
我设法想把这个js文件打包进去,但是没尝试成功.
image.png

小技巧(我觉得很重要)

当你打包成exe闪退,不要怕,cmd打开命令面板,在面板里执行这个exe文件,他就不会闪退,会报你程序打包出现了什么错误.

总结

真的顶…..