package.json中未使用的包会影响项目

时间:2018-08-10 09:47:55

标签: angular express

我需要知道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"
  }

3 个答案:

答案 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