如何撤消Angular 2 Cli ng-eject?

时间:2017-03-23 18:48:07

标签: angular webpack angular-cli

我刚刚执行了ng eject命令。但现在我需要还原它,并继续使用ng命令。有可能吗?

如果有任何帮助,我将不胜感激。

3 个答案:

答案 0 :(得分:69)

https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/tasks/build.ts#L27(当前角度CLI版本:1.0.1),有一个条件:

if (config.project && config.project.ejected) {
  throw new SilentError('An ejected project cannot use the build command anymore.');
}

运行ng-eject时,使用新的npm脚本修改 package.json 文件,添加或替换 webpack.config.js 文件并已弹出标志已添加到 .angular.cli.json

"project": {
  "name": "YOUR PROJECT NAME",
  "ejected": true
},

所以,只需删除"弹出"来自 .angular.cli.json 文件的标志:

或将此标记更改为false

"project": {
  "name": "YOUR PROJECT NAME",
  "ejected": false
}

答案 1 :(得分:3)

使用当前版本的angular cli,您需要标记弹出:false或删除文件angular-cli.json文件中的弹出属性而不是package.json文件

答案 2 :(得分:1)

此命令使构建配置成为项目的一部分并摆脱Angular CLI。并设置“弹出”:在angular-cli.json文件中为true,在项目根目录中创建新文件webpack.config.js,并在package.json中修改运行脚本。

最后,要撤消ng-eject命令,需要再次修改package.json文件