问题
The documentation is very brief with this topic:
ng ejectejects your app and output the proper webpack configuration and scripts
What is the purpose of this command?
回答1:
angular-cli is something magic, everything is done in a simple and automatic way.
But sometimes, you may want to act on how the package is done, add a plugin or you are simply curious to see the Webpack configuration on which it is based.
When running ng eject, you generate a webpack.config.json file. Looking at the file package.json you will see that the commands to launch have slightly changed:
ng serve --> npm start
ng build --> npm run build
ng e2e --> npm run e2
If you want to undo ng eject, you will have to edit your .angular.cli.json file and set ejected to false:
"project": {
...
"ejected": false
}
回答2:
ng eject basically get-rid of angular cli scripts and introduce webpack scripts in package.json, underlying webpack.config.js file mainly for comprehensive way to manage the project and it will be completely our responsibility to manage the project configurations after this.
A comparison of package.json scripts before and after is below,
check https://medium.jonasbandi.net/to-use-angular-cli-or-not-187f87d0b550 for further read.
来源:https://stackoverflow.com/questions/44110064/what-is-the-purpose-of-ng-eject