尤其在使用 Express Generator 所建立出的專案要如何打包,在概念不清楚的情況下如同瞎子摸象般摸索了許久。
打包完成後也經過多台電腦(包含未安裝 NodeJS 環境的電腦)的測試下,終於成功執行了。在此記錄下相關筆記。
一、 安裝 PKG
npm install -g pkg
二、 實際跑跑看官方的範例
官方範例連結
將專案 clone 下後,如同官方範例下方說明所敘述,執行命令:
npm install
pkg .
完成後會產生各平台的執行檔。如果只是要產生 windows 下的執行檔,可以使用命令:
pkg . -t win
三、 Express Generator 建立出的專案如何打包?
我的專案目錄如下圖:
在 package.json 中加入資訊
{
....
"bin": "bin/www",
"pkg": {
"scripts":[
"models/**/*",
"routes/**/*",
"app.js"
],
"assets": [
"views/**/*",
"public/**/*",
"data.db",
".env"
]
}
}
執行指令:
pkg . -t win
接著就等待完成產生的 exe 檔案吧!
四、 遇到的問題
由於專案使用到了 sqlite3 ,在該 module 中包含了 .node 檔案,沒辦法被包入 exe 中,目前找到的解法只有和 exe 放在同一個目錄下執行。
例如,我的專案用到了node_sqlite3.node,在包好 exe 後,要將該檔案一同複製到相同目錄中,exe 才能成功執行,如下圖:
沒有留言:
張貼留言