角度预算引发错误,但文件未达到大小

时间:2019-12-09 10:28:58

标签: angular

在Angular 8的https://netst4z5x-vh.akamaihd.net/i/draco/shows/and_tv/Bhabiji_Ghar_Par_Hai/June/21062016/Bhabiji_Ghar_Par_Hai_Episode_343_Ozee.smil/master.m3u8?hdnea=st=1575885515~exp=1575888515~acl=/*~hmac=8f4d35fe89877d455ae614f88ea9c9cf2241ae6ab1bdbbd1790f8376863fd94d文件中,我设置了angular.json的生产预算:

initial

当我运行"production": { "optimization": true, "outputHashing": "all", "sourceMap": false, "extractCss": true, "namedChunks": false, "aot": true, "extractLicenses": true, "vendorChunk": true, "buildOptimizer": true, "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" }], "budgets": [{ "type": "initial", "maximumWarning": "1.5mb", "maximumError": "1.6mb" }], "serviceWorker": true } 时,输出错误:

Console output

但是,没有一个标记为ng build --prod的文件达到单独提到的文件大小:

enter image description here

发生了什么事?为什么会引发此错误?

注意1:删除预算并运行完全相同的命令后,文件才会生成,否则不会生成。

注2:生成的文件似乎重复,但这就是Angular 8的差异加载(initial / es5)。

注意3:生成的文件大小甚至与控制台输出不匹配。

2 个答案:

答案 0 :(得分:1)

这是旧版CLI中的错误。请参阅由https://github.com/angular/angular-cli/issues/15792解决的问题https://github.com/angular/angular-cli/pull/16268。启用优化后,将在优化后计算捆绑包大小。

答案 1 :(得分:-1)

AFAIK预算的目标是初始预算大小,这意味着它可以对所有[initial]标记的文件进行计数,而不是分别计算每个文件。

当指定“初始”时,它是捆绑包的大小不是 单个文件的大小。之所以这样说是因为,如您所见,一个初始捆绑包中至少有6个文件,如果它们是1.6 Mb,则每个用户可能会着迷于加载时间。

因此,在这里至少要考虑两个选项。

拳头-减小捆绑包的尺寸。缩小1.5 Mb的供应商规模实在是太庞大了(IMHO)。

第二个-增加预算。过去大约是3 Mb。

预算类型可以参考the docs