在 Angular 9 应用程序的生产中同时使用 AOT 和 JIT

2024-05-14

因此,我一直在构建一个 Angular 9 应用程序,其中有一个客户仪表板来管理保存在服务器上的模板。这些模板可以通过激活系统在不同的设备上查看,因此设备与用户绑定。

所以让我们说https://templates.com我们有/login, /dashboards, /manage带有查看和编辑数据的子路径。在这个网址上我们也有/:companyName在此路径上,它请求一个模板,其中包含带插值字符串的 html,以及将动态加载的 css。

到目前为止,我能够实现这一目标要归功于Alarm9k 的帖子 https://github.com/angular/angular/issues/15275#issuecomment-434793800.

此解决方案出现的唯一问题是,在构建应用程序时,您无法使用ng build --prod因为使用--prod将无法工作,因为 Angular 编译器未包含在 AOT 中,因此您将陷入 JIT 困境。

这将导致应用程序变得更大,在我的例子中,大小几乎为 42MB。所以我想减小文件大小,因为这会极大地影响应用程序的延迟。 我一直在查看应用程序和 atm 的统计信息,它的延迟 http p95 延迟为 1.2 秒,http 平均延迟为 340 毫秒。

当使用不同的网站速度测试时,并选择英国作为测试应运行的位置。 我得到的加载时间值约为 600-900 毫秒。当检查多个位置时,我的平均加载时间为 5 秒。

问题:

所以我想知道是否有一种方法可以将应用程序分成 2 个,其中一个处于 AOT 模式,另一个处于 JIT 模式,将一部分保持在 JIT 模式是否安全,以及是否可以最大限度地减少是否申请。

如果这是不可能的,我想知道最小化此应用程序的最佳方法是什么以及如何做到这一点。

或者是否有一种方法至少可以使应用程序更安全,因为在 JIT 模式下可以在浏览器中查看所有代码。

EDIT 1:

我忘了提及,在我的例子中,我使用 socket.js 作为激活系统,因此仪表板和模板在某种程度上是有联系的。 所以去的时候/:companyname并且设备在自动转到之前未连接/activate它会生成一个代码并监听用户是否输入该代码,以便将设备连接到用户帐户。

EDIT 2:

我一直在读到 ivy 可以用来动态加载组件,因此仍然可以处于 AOT 中,而不需要编译器。 这是可以做到的吗?如果可以的话,你如何实现这一目标?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Angular 9 应用程序的生产中同时使用 AOT 和 JIT 的相关文章

随机推荐

  • 我应该何时何地使用 WCF

    我浏览了几个在线教程 其中涵盖了 WCF 的优点 如何构建服务 客户端等 不过 我想了解一点整体情况 问题 gt 什么样的应用程序或应用程序中的哪些功能要求我使用 WCF 功能 一个具体的例子应该可以更好地帮助我 有几种情况 需要 WCF
  • 我需要一个 jQuery Autocomplete 使用 ajax 返回 id 和 name 的示例

    我需要一个示例 说明如何编写 jQuery 自动完成代码来填充product id 同时显示调用ajax 页面 remote php 的product name
  • 在 Angular 中深度复制对象

    AngularJS 有angular copy 深度复制对象和数组 Angular 也有类似的东西吗 您还可以使用 JSON parse JSON stringify Object 如果它在你的范围内 那么它就存在于每个 Angular 组
  • 使用 stargazer 分析包含时间序列的数据帧

    我有一个面板数据集共 10 个观测值和 3 个变量 观测值 30 的数量 10 行 国家 地区 2 列 迁移参数 相应年份的 1 列 可以这么说 我的数据框由 3 个年度数据框组成 我该如何申请观星者考虑到它是一个面板数据集 所以最大 N
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • Node.js 中没有请求状态 Morgan Logging

    我正在 Azure VM 上运行 node js 应用程序 使用 PM2 处理负载平衡和重新启动 这是服务器设置和日志记录代码 var logger require morgan var app express app set views
  • Rails 4 i18n,如何转换子域用于区域设置的路由

    我正在使用子域来确定 Rails 4 网站中的区域设置 我完全按照我想要的方式使用区域设置切换器 但现在我需要翻译路线 并且我不确定继续的最佳方法 我看过https github com kwi i18n routing https git
  • 如何打开实际上已关闭的 Wifi 适配器的无线电?

    我在用着托管无线网络 http managedwifi codeplex com获取我的 Wifi 适配器的无线电状态 如果收音机实际上已关闭 如何将其打开 像这样的东西 WlanClient wlanClient new WlanClie
  • 如何让Jmeter识别“localhost”URL?

    如何对只能由我的计算机访问的 localhost url 进行性能测试 我可以使用 jmeter 对 google 等实时网站进行性能测试 但 jmeter 无法检测本地 url 应用程序的 URL 192 168 121 20 80012
  • 部署项目 dll 导致“两者都存在类型 x”错误

    我有一个 Web 应用程序项目 一个业务逻辑项目和一个用于 Web 应用程序的 Web 部署项目 当我构建解决方案时 部署 Release bin 包含每个项目的 1 个 dll 因此我为 MyWeb dll MyWebBusiness d
  • 模板类的静态变量在不同翻译单元中的显式实例化

    我正在使用包含静态变量的模板类 代码结构如下 Header h template
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • 检索用户故事和相关的测试用例

    我正在使用 Rally excel 插件并尝试检索用户故事和相关的测试用例 我在报告 用户故事 中添加了附加列来检索 TestCase Name 并尝试了 TestCase FormattedID 在这两种情况下我都会收到空列 我究竟做错了
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 基于多个动态过滤条件过滤Excel范围

    我想过滤数据集 考虑几个可以根据可能值列表动态更改的过滤条件 我有过滤条件team其具有以下值 Team A Team B ALL 其中 ALL 是代表所有团队的通配符 对于第二个标准release 如果我想在过滤器中包含多个版本 则值之间
  • 我应该使用哪个 PayPal API 向关联公司发送付款

    我在一家网站公司工作 该公司向向我们网站发送流量的合作伙伴支付佣金 目前 我们跟踪从附属机构引向我们网站的流量 然后通过 PayPal 进行繁琐的手动付款过程 这是我们当前流程的要点 1 Review affiliate commissio
  • 为什么解析这个 JSON 会抛出错误?

    我正在尝试解析这个 JSONObject query yahoo count 1 results rate Name USD INR id USDINR Time 12 19pm Date 10 31 2015 Bid 65 405 Ask
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • 在 Angular 9 应用程序的生产中同时使用 AOT 和 JIT

    因此 我一直在构建一个 Angular 9 应用程序 其中有一个客户仪表板来管理保存在服务器上的模板 这些模板可以通过激活系统在不同的设备上查看 因此设备与用户绑定 所以让我们说https templates com我们有 login da