Angular中的小型化

Angular中的小型化

任何应用程序的性能是决定这个世界上用户体验的关键因素之一。如果性能低下,应用程序将无法实现其对用户的真正价值。因此,我们鼓励在编码过程中采取各种做法,以便在生产环境中实现更高的性能。
同样地,Angular框架也提供了各种选项,以在运行时获得更高的性能。其中一些是AOT编译、捆绑、小型化等。在AOT编译中,Angular编译器在应用部署前运行,从而减少了应用的整体大小。但Angular框架默认不会这样做。

现在,让我们来谈谈Angular框架所采用的默认流程,它可以帮助开发者实现更高的性能,即捆绑和最小化。让我们在下面详细地谈谈它们。

Bundling和最小化是Angular采用的两个重要过程,以减少应用程序的大小,使其能够在浏览器中快速下载。

Bundling:

  • 在捆绑中,应用程序中的所有js文件被作为一个单元下载,而不是下载每个js文件,这总体上减少了整个应用程序的下载时间,从而实现更高的性能。
  • 让我们举个例子来了解一下。
    假设我的应用程序中有三个js文件。因此,当应用程序被部署时,Angular框架默认将这三个js文件合并为一个文件,从而减少了应用程序的大小,现在可以在用户浏览器中快速下载。

最小化:在最小化过程中,在js文件中做了以下事情,以减少js文件的大小,以便更快地下载。

  • 它删除了文件中的所有空白。
  • 它删除了文件中所有不需要的变量。
  • 它将所有大的变量名称转换为小的变量名称。

通过做所有这些事情,Angular框架减少了js文件的整体大小。此外,Angular框架还在文件名中添加了.min,以表示对该特定文件进行了最小化。

让我们举一个例子来更好地理解减化过程。

module.js:

module.exports = function(module) {
    if (!module.webpackPolyfill) {
        module.deprecate = function() {};
        module.paths = [];
  
        // module.parent = undefined by default
        if (!module.children) module.children = [];
        Object.defineProperty(module, "loaded", {
            enumerable: true,
            get: function() {
                return module.l;
            }
        });
        Object.defineProperty(module, "id", {
            enumerable: true,
            get: function() {
                return module.i;
            }
        });
        module.webpackPolyfill = 1;
    }
    return module;
};

当你运行ng build -prod时,Angular框架的最小化代码是。

module.min.js:

module.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e};

所以,正如你所看到的,在最小化的版本中,所有的空白都被删除了,变量的名称也被缩短了。因此,将代码减少到只有一行代码,减少了js文件和应用程序的整体大小。

因此,最小化和捆绑实际上是相互关联的过程,有助于减少js文件的大小,以便在浏览器中更快地下载,给用户带来愉快的体验。当涉及到提高应用程序的整体性能时,这些是Angular框架的基本支柱。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程