electron 浏览器进程fork子进程进程

需求:使用electron开发一个应用,在主进程中fork一个子进程

遇到的问题:

在本地跑的时候直接用的相对路径,详细如下:

```

child = fork(`${__dirname}/jspath/jsname.js`)

```


这样运行的很好,后面(https://www.electron.build/)打包的时候,发现了fork后,很快就exit 1,catch不住任何错误

定位问题的步骤:

1.通过打印__dirname 和electron-builder 文档,发现我们的业务的代码实际上是在***/your-app.app/Contents/Resources/app.asar这个文件中,该文件不能直接访问,需要用asar这个工具解压https://www.cnblogs.com/xuhai/p/9955310.html 发现在jsname.js文件并没有在该文件目录下,好的那就查看如何包含这些文件进去,查询了资料后在packge.json里面的build选项

```

"build": {

"files": [

"dist/electron/**/*",

  "src/main/**/*"

],

}

```


重新打包发现代码已经包含进来了,但是继续调fork的时候 发现子进程还是退出,exit 1 并没有catch住错误,后面发现有模块没有包含进来,不知道为什么dev下面不需要显示加载,但是在构建的时候需要显示加载,在dependencies加入依赖以后 重新打包,问题解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容