角度aot项目+ jit

时间:2019-05-10 13:37:06

标签: angular lazy-loading angular-aot

在角度7/8中是否有一种“官方”方式来拥有经典的AOT应用延迟加载组件,但这些组件未进行预编译?

我的方案是一个企业应用程序,用户可以在其中“动态”设计html + ts表单。 这些表单存储为纯HTML和ts文件,因此angular应该能够发现它们(基于服务),注册其新路径,加载ts + html,在浏览器中编译并运行。

为什么这个问题不是重复的:我没有看到有关让AOT应用消耗新创建为html + ts(未编译)的新组件的任何信息。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我不这么认为。您读过这篇博客文章吗? https://blog.angularindepth.com/here-is-what-you-need-to-know-about-dynamic-components-in-angular-ac1e96167f9e

那篇文章中提到的一件事是,非AOT编译被皱眉了:

  

请记住,此方法使用了不支持作为公共API的编译器。这是文档所说的:

     

此列表中的一个有意遗漏的是@ angular / compiler,它目前被认为是低级api,并且可能会进行内部更改。这些更改不会影响使用更高级别的api(命令行界面或通过@ angular / platform-b​​rowser-dynamic进行的JIT编译)的任何应用程序或库。只有非常特定的用例才需要直接访问编译器API(主要是IDE,lint等的工具集成)。如果您正在从事这种集成,请首先与我们联系。

我怀疑当用户修改HTML / TS并显示“预览”时,使用服务来编译组件会更容易,就像Overleaf那样显示已编译乳胶的预览。