首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存工厂类中的角JIT & AOT --它们实际上是生成的还是仅仅是内存中的?

内存工厂类中的角JIT & AOT --它们实际上是生成的还是仅仅是内存中的?
EN

Stack Overflow用户
提问于 2017-03-18 16:29:24
回答 1查看 178关注 0票数 2

在默认的ng new应用程序中,我使用DevTools创建了一个JIT和一个AOT项目,以比较Chrome中的文件大小、捆绑、检查等。

然后我处理了这两个文件,并检查了Chrome DevTools - JIT: ng served AOT: ng served-aot中的文件。

对于JIT版本,ngFactory文件都是由JIT编译器编译的(对于AOT,这些确切的函数位于预编译的主包中)。

在应用程序的JIT版本中,ng类工厂是在内存文件上说中创建的

JIT编译在内存中生成这些基本不可见的NgFactories。

当我在DevTools中使用JIT应用程序时(见屏幕截图),我可以看到JIT编译的工厂文件在no域下。这些实际上是内存中的,还是编译器生成临时文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-18 16:50:15

当您运行JIT编译时,它们在浏览器内存中。

角通过new Function()生成它们

例如:

代码语言:javascript
复制
var expression = `
    function Yurzui() {
      this.param1 = name;
    }
    Yurzui.prototype.hello = function() {
      return 'Hello ' + this.param1;
    }
    return Yurzui;
    //# sourceURL=/yurzui/say-hello/my.factory.js
`;

var func = new Function('name', expression);

var clazz = func('Some name');
alert((new clazz()).hello());

柱塞实例

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42876915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档