在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
}
时,输出错误:
但是,没有一个标记为ng build --prod
的文件达到单独提到的文件大小:
发生了什么事?为什么会引发此错误?
注意1:删除预算并运行完全相同的命令后,文件才会生成,否则不会生成。
注2:生成的文件似乎重复,但这就是Angular 8的差异加载(initial
/ es5
)。
注意3:生成的文件大小甚至与控制台输出不匹配。
答案 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。