我已经使用ng build -prod -aot -vc -cc -dop --buildOptimize
来减少已构建应用的大小。
现在这是我的情况:
是否有可能减少(或可能分裂)这些更大的块? 有什么东西可以帮助我检查这些模块吗?
P.S。我已经使用webpack-analyzer来检查情况,但它无法深入了解这些文件。
答案 0 :(得分:3)
使用源图构建应用程序,然后使用source-map-explorer等工具详细说明您正在使用的每个库的大小。
常见库的一些提示:
.pipe(operator1(), operator2())
语法,当您不使用许多不同的运算符时,它会显着降低RxJS的大小.scss
个文件如果您还没有这样做,请将您的应用划分为延迟模块,这将减少初始块的大小。
答案 1 :(得分:1)
我遇到了类似的大型prod捆绑问题并修复了此命令的问题;
npm run build
我一直在使用
npm run ng build --prod
但--prod标志没有执行,我留下了vendor.bundle.js,这是2.9mbs
chunk {inline} inline.bundle.js, inline.bundle.js.map (inline) 3.89 kB [entry] [rendered]
chunk {main} main.bundle.js, main.bundle.js.map (main) 122 kB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 349 kB [initial] [rendered]
chunk {styles} styles.bundle.js, styles.bundle.js.map (styles) 16.6 kB [initial] [rendered]
chunk {vendor} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.96 MB [initial] [rendered]
只有npm run build(no ng),整个dist文件夹是400kb
chunk {0} polyfills.67d5a7eec41ba0d20dc4.bundle.js (polyfills) 101 kB [initial] [rendered]
chunk {1} main.3874ea54d23e70290fa8.bundle.js (main) 327 kB [initial] [rendered]
chunk {2} styles.0aad5eda327b47b9e9fa.bundle.css (styles) 1.56 kB [initial] [rendered]
chunk {3} inline.318b50c57b4eba3d437b.bundle.js (inline) 796 bytes [entry] [rendered]
答案 2 :(得分:0)
对不起,请稍后回复。 此答案适用于所有较新版本的Angular。
例如:
import {MatButtonModule} from '@angular/material/button';
代替
import {MatButtonModule} from '@angular/material';
如果使用的是LazyLoading模块,请在特定模块中导入所需的软件包。
按照这些步骤,我将捆绑包的大小从9.0MB减小到1.45MB。
希望它也对你们有用:)。