首页 文章

Angular 4 - Angular与--prod捆绑的速度要快多少

提问于
浏览
0

由于我们在.Net / Angular Web应用程序中的不利软件架构,我们可能无法为 生产环境 环境执行ng build(--prod)的捆绑 .

我现在的问题是,与使用 ng build --prod 捆绑的相同应用程序相比,装入SystemJS的Angular应用程序的性能提升有多大?

有人进行过性能测量吗?

我尝试使用以下测试应用程序并在Developer Console中读取执行时间但这并不可靠 . angular-realworld-example-app

"SystemJS" | "Bundled Prod"
..... 1.9s ....... | .......... 1.1s
.... 2.2s ....... | .......... 1.4s
..... 1.7s ....... | .......... 1.3s
..... 2.1s ....... | .......... 1.0s
..... 1.8s ....... | .......... 1.1s
..... 1.7s ....... | .......... 1.15s

...~1.68s..... |........~1.17s (平均秒数)

1 回答

  • 2

    ng build --prod创建一个"Ahead Of Time"包(https://angular.io/guide/aot-compiler),这意味着角度编译器不必包含在 生产环境 包中 .

    正如文档中所写,在下载大小方面有性能提升:

    编译器大约是Angular本身的一半,因此省略它会大大降低应用程序的有效负载 .

    并且还可以获得应用程序启动时间:

    更快的渲染使用AOT,浏览器会下载应用程序的预编译版本 . 浏览器加载可执行代码,以便它可以立即呈现应用程序,而无需先等待编译应用程序 .

    与JIT编译应用程序相比的实际增益取决于模板的数量及其大小 .

    更少的异步请求编译器在应用程序JavaScript中内联外部HTML模板和CSS样式表,从而消除了对这些源文件的单独的ajax请求 .

相关问题