Bil*_*ell 6 angular angular-aot angular-jit angular9
所以我一直在构建一个 Angular 9 应用程序,其中有一个客户仪表板来管理他们保存在服务器上的模板。可以通过激活系统在不同设备上查看这些模板,从而将设备绑定到用户。
所以让https://templates.com我们说我们有/login, /dashboards,/manage带有查看和编辑数据的子路径。在这个 url 上,我们也在/:companyName这个路径上请求一个模板,其中包含带有插值字符串的 html,以及将被动态加载的 css。
到目前为止,由于alarm9k 的帖子,我能够实现这一目标。
此解决方案发生的唯一问题是,在构建应用程序时您无法使用,ng build --prod因为 using--prod将不起作用,因为 angular 编译器未包含在 AOT 中,因此您陷入了 JIT。
这将导致一个更大的应用程序,在我的情况下,大小几乎是 42MB。所以我想减小文件大小,因为这会极大地影响应用程序的延迟。我一直在查看应用程序和 atm 的统计信息,它的延迟 http p95 延迟为 1.2 秒,http 平均延迟为 340 毫秒。
当使用不同的网站速度测试并选择英国作为测试应该运行的地方。我得到的加载时间值大约为 600-900 毫秒。检查多个位置时,它给了我 5 秒的平均加载时间。
所以我想知道是否有办法将应用程序分成 2 个,其中一个处于 AOT 模式,另一个处于 JIT 模式,如果将一部分保持在 JIT 模式下是安全的,并且这是否可以最大限度地减少申请与否。
如果这是不可能的,我想知道最小化此应用程序的最佳方法是什么,以及如何做到这一点。
或者,如果有一种方法至少可以使应用程序更安全,因为在 JIT 模式下可以在浏览器中查看所有代码。
我忘了提到,在我的情况下,我使用 socket.js 作为激活系统,因此仪表板和模板有些关联。因此,当转到/:companyname并且设备未连接之前,它会自动转到/activate生成代码的位置并侦听用户是否输入该代码,以便将设备连接到用户帐户。
我一直在读到 ivy 可以用来动态加载组件,这样一个人仍然可以在 AOT 中并且不需要编译器。这是可以完成的事情吗,如果可以,您将如何实现这一目标?