电子伪造包装时如何预编译打字稿

时间:2019-01-24 03:18:12

标签: reactjs performance typescript electron electron-forge

在真正加载应用之前,该应用会先显示空白屏幕

我正在使用电子伪造的react-typescript template

我可以成功制作一个dmgdeb文件,但是我注意到,当我运行打包的应用程序时,在应用程序实际加载之前,尤其是在第一次加载之前,会有一段空白屏幕< / p>

我检查了可分发文件并找到了其中的整个源代码,所以我想这是因为它每次必须编译typescript吗?

然后如何“预编译”我的源代码并使用该代码制作可分发的应用程序?

更新: 由于该项目是由其他同事开发的,所以我才发现该项目正在使用电子编译功能对其进行即时编译,也许解决方案与此有关?

1 个答案:

答案 0 :(得分:1)

  

我检查了可分发文件并在其中找到了整个源代码,所以我想这是因为它每次都必须编译打字稿吗?

这不是事实。当前稳定的使用electron-prebuilt-compilehttps://github.com/electron-userland/electron-forge/blob/1709af0bc53bd962466dd2025672b95f2e9399cc/packages/api/core/src/util/electron-version.ts#L6)为打字稿文件创建预编译的缓存,以缩短打包时间。只有实际文件系统中的模块解析才需要Typescript源。

  

在实际加载应用之前(尤其是首次加载)会有一段时间的空白屏幕

这需要对应用程序进行概要分析,以了解其间正在发生的事情。模块解析可能会花费很长时间,也可能会阻塞任何js执行时间,但是如果不对其进行概要分析就无法分辨。