我需要知道package.json
是否包含许多未使用的软件包。这会影响我的项目规模或运行时执行。
大多数软件包未在项目中使用。
"dependencies": {
...,
"angular-calendar": "^0.24.0",
"angular2-text-mask": "^8.0.4",
"aws-sdk": "^2.175.0",
"core-js": "^2.4.1",
"date-fns": "^1.29.0",
"enum": "^2.5.0",
"fullcalendar": "^3.6.1",
"hammerjs": "^2.0.8",
"husky": "^0.14.3",
"jquery": "^3.3.1",
"json2typescript": "^1.0.5",
"lodash": "^4.17.4",
"marked": "^0.3.6",
"material-design-icons": "^3.0.1",
"moment": "^2.22.1",
"replace-in-file": "^3.4.0",
"rxjs": "^5.1.0",
"ts-helpers": "^1.1.2",
"zone.js": "^0.8.4"
},
"devDependencies": {
...,
"@types/jasmine": "2.5.47",
"@types/marked": "^0.0.28",
"@types/node": "~7.0.16",
"codelyzer": "~3.0.1",
"copy-webpack-plugin": "^4.3.0",
"tslint": "~5.2.0",
"typescript": "2.4.2"
}
答案 0 :(得分:1)
Package.json包含构建项目所需的依赖项和开发依赖项列表。模块未引用的任何程序包都不会进入最终产品包,因此不会影响运行时大小。
您可以通过在package.json中添加和删除一些未使用的软件包并进行生产构建来检查dist文件夹中vendor.bundle.js的大小。
ng build --prod --vendor-chunk = true
就磁盘上的项目大小而言,是的,随着package.json中的所有软件包都下载到您的node_modules项目文件夹中,它会增加。
答案 1 :(得分:0)
如果您使用产品构建或构建优化器,则cli将从项目中删除所有未使用的模块等。
ng build --prod --build-optimizer
使用以上命令进行生产构建。 有关更多详细信息,请访问 this article
答案 2 :(得分:0)
使用source-map-explorer可以分析每个Package的捆绑包大小。您需要使用npm安装source-map-explorer。
npm install source-map-explorer --save-dev
构建应用程序源代码。您可以使用
ng build --prod --source-map
要运行资源管理器,可以使用此命令
node_modules/.bin/source-map-explorer dist/main.*.bundle.js