把nodejs程序打包成可执行文件

在写好之后的nodejs程序,想发给同事的电脑上运行程序,就不得不下载node环境,还要安装第三方依赖包,非常的麻烦。

因此,可以借助一些插件来完成nodejs程序的打包,变成可以执行的文件。

将Node.js打包为可执行文件的工具有pkg、nexe、node-packer、enclose等,从打包速度、使用便捷程度、功能完整性来说,pkg是最优秀的。

这里使用pkg来进行打包node程序

  • 安装pkg
npm install -g pkg  //全局安装
npm install pkg  //局部安装
  • 使用说明:
pkg -h
  • 打包程序主入口js文件
pkg -t win app.js  // 把app.js打包成windows系统可执行的文件

[-t win] 不写,默认打包linux,windows,macOS,3个系统的可执行文件
  • 使用的坑
/* 在程序中,使用到的__dirname,打包之后会出现路径错误。为了避免这种错误,可以把__dirname替换成proccess.cwd()
*/
fs.readFile(__dirname+"/1.txt",callback) 
    ||    ||    ||    ||    ||
    /    /    /    /    /
fs.readFile(process.cwd()+"/1.txt",callback)

出现打包js程序下载fetched-v12.16.1-win-x64...等文件过慢,可以去github下载源文件,然后修改名字(例如:win32-x64-binding.node)下载地址,下载过慢可以科学冲浪。

原文地址:https://www.cnblogs.com/kongyijilafumi/p/13925147.html