在寫好之后的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)下載地址,下載過慢可以科學沖浪。
進入C:\Users\admin\.pkg-cache\v2.6目錄,刪掉里邊的文件,將下載好的文件放入里邊,將文件名改為對應的 fetched-XXXX