AOT编译对电子应用有帮助吗?

时间:2017-03-22 13:33:23

标签: angular electron angular2-aot electron-forge

我目前正在使用electron-forge工具使用Angular构建一个Electron应用程序,我正在编译Angular代码以捆绑它。我开始实现AOT编译但是我遇到了困难,因为我没有找到使用组件相对路径的方法,AOT要求(如果感兴趣,更多关于this问题)。

另一方面,我想知道是否值得为电子应用程序进行AOT编译。正如,Angular官方文档中的AOT compilation cookbook

enter image description here

使用浏览器客户端时,上述大部分原因都是必须的。可以说,较小的Angular框架下载大小可能是一个好处,这实际上取决于相关的应用程序。

4 个答案:

答案 0 :(得分:0)

是的,这绝对是个好主意。

@estus当你说

  

并且AOT并不一定会减少流量

事实并非如此。

当您使用AOT(使用angular-cliwebpack)编译应用时,会从捆绑包中删除角度的编译器(捆绑从600 + kb到300KB )。

您的应用程序越大,角色的编译器就越需要解析HTML模板。所以是的,即使对于在Electron内部运行的应用程序(使用本地文件)也是如此使用AOT减少脚本编制,从而缩短启动时间。

答案 1 :(得分:0)

AOT将生成“优化友好”的JS代码,将由浏览器内的JIT编译器(JS到机器代码)使用(铬)。因此,对于运行时性能,我相信会有一些改进。

对于启动时间,它取决于我认为的所有总有效载荷。据我所知,AOT有时会产生更大或更小的尺寸,这实际上取决于它。

答案 2 :(得分:0)

最好在Angular 2应用程序中实施 AOT ,因为预编译所有导入/注册的文件和捆绑在少量文件中 ,这可以增强/改善您的网络请求效果。

它将所有打字稿代码转换为JavaScript代码缩小,因此文件大小最小化,页面加载时文件限制文件请求很少,导致浏览器快速响应。

我也在我的应用程序中实现了AOT,它就像樱桃蛋糕一样。

答案 3 :(得分:0)

使用Angular的AOT编译,它使用CLI命令ng build将所有文件预编译并捆绑到文件夹dist/project_name中,然后从该文件夹提供服务。正如您所提到的,您使用的是电子伪造,它使用JIT编译并且完全不接触angular的AOT编译中的build文件夹。因此,AOT编译对电子应用没有帮助。