ng build --prod is not generating vendor.bundle.js

你说的曾经没有我的故事 提交于 2019-11-27 23:52:51

问题


I am using node version 8.9.4, npm version 5.6.0 I have no clue why this is happening the ng build --dev is generating vendor.bundle.js while ng build --prod is not generating vendor.bundle.js here is the screenshot

output with ng build--prod [


[output with ng-build --dev]

Here is my package.json

`{
  "name": "app1",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular-devkit/core": "0.0.28",
    "@angular/animations": "^5.0.0",
    "@angular/common": "^5.0.0",
    "@angular/compiler": "^5.0.0",
    "@angular/core": "^5.0.0",
    "@angular/forms": "^5.0.0",
    "@angular/http": "^5.0.0",
    "@angular/platform-browser": "^5.0.0",
    "@angular/platform-browser-dynamic": "^5.0.0",
    "@angular/router": "^5.0.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.5.2",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular/cli": "1.6.3",
    "@angular/compiler-cli": "^5.0.0",
    "@angular/language-service": "^5.0.0",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "~2.4.2"
  }
}

`


回答1:


For prod builds the vendor bundle is integrated in your main bundle, because it is using the build optimizer per default.

According to the angular-cli documentation:

Total bundle sizes with Build Optimizer are smaller if there is no separate vendor chunk because having vendor code in the same chunk as app code makes it possible for Uglify to remove more unused code.




回答2:


ng build by default don't generate vendor-chunk but instead it is combined in one main-chunk for performance and optimization purposes, you will need to add a parameter to the build command like so in order to have your vendor-chunk separated:
ng build --prod --vendor-chunk=true

see details here:

https://github.com/angular/angular-cli/wiki/build#--build-optimizer-and---vendor-chunk



来源:https://stackoverflow.com/questions/48369010/ng-build-prod-is-not-generating-vendor-bundle-js

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!