reactjs - 使用电子锻造打包时如何预编译打字稿
问题描述
在应用真正加载之前,应用会以空白屏幕启动一段时间
我正在使用 electron-forge 的react-typescript 模板。
我可以成功创建dmg
或deb
文件,但我注意到当我运行打包的应用程序时,在应用程序实际加载之前会有一段时间的空白屏幕,尤其是第一次加载
我检查了可分发文件并在其中找到了整个源代码,所以我猜是因为它必须typescript
每次都编译?
那么如何“预编译”我的源代码并使用它来制作可分发的应用程序?
更新:由于该项目是由其他同事开发的,我刚刚发现该项目正在使用电子编译进行即时编译,也许解决方案与此有关?
解决方案
我检查了可分发文件并在其中找到了整个源代码,所以我猜是因为它每次都必须编译打字稿?
这不是真的。当前稳定使用electron-prebuilt-compile
(https://github.com/electron-userland/electron-forge/blob/1709af0bc53bd962466dd2025672b95f2e9399cc/packages/api/core/src/util/electron-version.ts#L6)为打字稿文件创建预编译缓存包装时间。只有在实际文件系统中进行模块解析时才需要打字稿源。
在应用程序实际加载之前会有一段时间的空白屏幕,尤其是第一次加载
这需要分析应用程序本身以找出同时发生的事情。模块解析可能需要很长时间或者任何 js 执行时间的阻塞,但是如果不对其进行分析就无法判断。
推荐阅读
- javascript - 如何使用 mapbox-gl 为特征点设置单独的布局属性?
- javascript - 克隆表格中的滚动条时遇到问题
- c# - 我如何在 GTK+# 中使用 GtkGLArea?
- html - 自动增加 Class CSS 中的数字
- c++ - 在 C++ 中将字符串转换为链接字符列表时遇到问题
- javascript - 根据每个属性值jquery隐藏html元素
- java - 如何在没有 Eclipse 的情况下使用 WebSphere 8.5.5
- c# - 在 button1 上单击创建变量,在 button2 上单击使用在 button1 | 中创建的变量。C# WPF
- node.js - Axios - Cheerio 如何等待所有信息从服务器加载
- swift - 您如何根据用户输入发送通知?迅速