electron开发环境和生产环境性能差异很大
发布于 4 年前 作者 kuyu132 5478 次浏览 来自 问答

使用nodejs+vue+electron开发的客户端,开发过程中,执行那些读写文件操作很容易卡住,但打包生成exe文件之后就很少出现这种问题了,新手有点不理解这个,请大佬们指教!

比如:https://cnodejs.org/topic/5ece543082b588109b6464eb

3 回复

开发过程中一般都是文件监听,近似实现所谓的实时更改。 而且开发过程中,v8 并不容易生成缓存,JIT 也是需要时间的。 基本上,大部分代码,编译后都会做优化,比如 C 有很多级别的优化,开发过程中肯定以时间为准。如果开发过程中生成代码就做了高级别的优化,编译可能得几个小时了。

说白了,就是目标不一样。

开发环境像自行车,转弯灵活,跑起来慢。 生产环境像飞机,(编译)起飞准备时间长,跑起来快。

楼上的想当然了 electron的v8可分不出来你是开发环境还是打包后,实际上,开发时调用的electron可执行文件跟打包后的大概率是同一个

回到楼主的问题,你应该是开发的时候webpack-dev-sever会频繁的刷新页面,这会导致渲染进程的node 异步api会出问题,同步api则工作正常, 而打包后页面应该就很少刷新了,除非你代码中手动reload 你可以试试app.allowRendererProcessReuse = false

参考https://github.com/electron/electron/issues/22119

@pink-puppy 我在createWindow中加的 app.allowRendererProcessReuse =false;实测没啥效果

回到顶部