一、考虑如何去调用exe SDK?
我用的是进程参数来实现process.argv, exe调用形式例如
{}[函数名](参数)
node.js调用则可以使用, 而这里可以利用进程输出来拿到返回值。
spawn('.exe', [参数])
二、如何防止孤儿进程?
try {
process.kill(process.ppid, 0);
} catch (e) {
kill_自身进程
}
三、如何合理的处理pkg包内脚本路径?
- 当引用exe脚本来的依赖文件时可以使用process.execPath获取相对路径
process.execPath
- 当需要使用包内路径时使用__dirname+filename获取包内虚拟路径
__dirname+filename
四、PKG如何打包三方依赖?
"pkg": {
"targets": [
"node12-win-x86"
],
"assets": [
"node_modules/crypto-js",
"node_modules/axios/**/*",
"node_modules/request"
...
],
"outputPath": ""
},
五、PKG如何打包出64 或者 32位文件?
32位文件需要使用node 12.1.0 32版本
64位则以上即可
六、使用javascript-obfuscator混淆工具混淆代码?
javascript-obfuscator 需要的配置项为"ignoreImports": true ,导出项屏蔽混淆不然会有文件引用错误
七、pkg打包命令
pkg . --compress GZip --target win
七、压缩exe包
使用upx