需求:使用electron開發(fā)一個(gè)應(yīng)用,在主進(jìn)程中fork一個(gè)子進(jìn)程
遇到的問題:
在本地跑的時(shí)候直接用的相對(duì)路徑,詳細(xì)如下:
```
child = fork(`${__dirname}/jspath/jsname.js`)
```
這樣運(yùn)行的很好,后面(https://www.electron.build/)打包的時(shí)候,發(fā)現(xiàn)了fork后,很快就exit 1,catch不住任何錯(cuò)誤
定位問題的步驟:
1.通過打印__dirname 和electron-builder 文檔,發(fā)現(xiàn)我們的業(yè)務(wù)的代碼實(shí)際上是在***/your-app.app/Contents/Resources/app.asar這個(gè)文件中,該文件不能直接訪問,需要用asar這個(gè)工具解壓https://www.cnblogs.com/xuhai/p/9955310.html?發(fā)現(xiàn)在jsname.js文件并沒有在該文件目錄下,好的那就查看如何包含這些文件進(jìn)去,查詢了資料后在packge.json里面的build選項(xiàng)
```
"build": {
"files": [
"dist/electron/**/*",
? "src/main/**/*"
],
}
```
重新打包發(fā)現(xiàn)代碼已經(jīng)包含進(jìn)來了,但是繼續(xù)調(diào)fork的時(shí)候 發(fā)現(xiàn)子進(jìn)程還是退出,exit 1 并沒有catch住錯(cuò)誤,后面發(fā)現(xiàn)有模塊沒有包含進(jìn)來,不知道為什么dev下面不需要顯示加載,但是在構(gòu)建的時(shí)候需要顯示加載,在dependencies加入依賴以后 重新打包,問題解決