首页 > 解决方案 > 使用电子锻造打包时如何预编译打字稿

问题描述

在应用真正加载之前,应用会以空白屏幕启动一段时间

我正在使用 electron-forge 的react-typescript 模板

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

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

那么如何“预编译”我的源代码并使用它来制作可分发的应用程序?

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

标签: reactjsperformancetypescriptelectronelectron-forge

解决方案


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

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

在应用程序实际加载之前会有一段时间的空白屏幕,尤其是第一次加载

这需要分析应用程序本身以找出同时发生的事情。模块解析可能需要很长时间或者任何 js 执行时间的阻塞,但是如果不对其进行分析就无法判断。


推荐阅读