代码之家  ›  专栏  ›  技术社区  ›  Nits

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

  •  0
  • Nits  · 技术社区  · 6 年前

    我需要知道 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 回复  |  直到 6 年前
        1
  •  1
  •   Shivam Sinha    6 年前

    json包含构建项目所需的依赖项和开发依赖项的列表。模块未引用的任何包都不会进入最终的生产包,因此不会影响运行时大小。

    您可以在dist文件夹中检查vendor.bundle.js的大小,方法是在package.json中添加和删除几个未使用的包,然后进行生产构建。

    ng build--prod--vendor chunk=true

    就磁盘上的项目大小而言,是的,它会随着package.json中的所有包都下载到node_modules项目文件夹中而增加。

        2
  •  0
  •   Ans Bilal    6 年前

    如果使用prod build或build optimizer,cli将从项目中删除所有未使用的模块等。

    ng build --prod --build-optimizer
    

    使用上面的命令进行生产构建。 有关详细信息,请访问 this article

        3
  •  0
  •   Suresh Kumar Ariya    6 年前

    使用源映射资源管理器,可以分析每个包的包大小。需要使用npm安装源映射资源管理器。

    npm install source-map-explorer --save-dev
    

    以构建应用程序sourece代码。你可以用

    ng build --prod --source-map
    

    要运行资源管理器,可以使用以下命令

     node_modules/.bin/source-map-explorer dist/main.*.bundle.js