如果我创建一个带有角9.1.1的空基础项目并进行构建,则整个rxjs将出现在最终的包中。
webpack-bundle analyzer screenshot
package.json是基本的:
"dependencies": {
"@angular/animations": "~9.1.1",
"@angular/common": "~9.1.1",
"@angular/compiler": "~9.1.1",
"@angular/core": "~9.1.1",
"@angular/forms": "~9.1.1",
"@angular/platform-browser": "~9.1.1",
"@angular/platform-browser-dynamic": "~9.1.1",
"rxjs": "~6.5.5",
"tslib": "^1.11.1",
"zone.js": "~0.10.3"
},
这正常吗?使用--prod标志进行构建时,rxjs的大小为70kb,这似乎不正常。
仅查看您的文件名,我可以看到您没有使用生产版本构建应用程序(除非您使用--output-hashing none
禁用了输出哈希)。
在Angular中的生产版本是通过--prod
标志设置的,或者是通过angular.json
文件配置设置的。当您构建用于生产的应用程序时,还会摇晃未使用的第三库函数(如rx运算符)。
此外,我强烈建议您使用source-map-explorer
,而不要使用Webpack捆绑工具。
运行这两个命令:
ng build --prod --source-maps
npx source-map-explorer dist/APP_NAME/main-es2015.*.js