2017-03-23 16 views

Trả lời

55

Tại https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/tasks/build.ts#L27 (hiện tại góc phiên bản CLI: 1.0.1) có một điều kiện:

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

khi bạn chạy ng-eject, package.json tập tin được sửa đổi với các kịch bản NPM mới, webpack.config .js tập tin được thêm vào hoặc thay thế và đẩy ra cờ được thêm vào của bạn .angular.cli.json:

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

Vì vậy, chỉ cần loại bỏ "đẩy" cờ từ .angular.cli.json tập tin của bạn:

hoặc thay đổi cờ này để false:

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

câu trả lời Rất hữu ích! Tôi quản lý để nạp bootstrap cách này! Dường như ng phục vụ không bằng NPM chạy xây dựng & npm bắt đầu – skiabox

+0

Nếu bạn thực hiện phóng trong một cam kết bị cô lập, bạn có thể hoàn nguyên thay đổi sau bằng cách quay trở lại cam kết đó đúng không? – Askdesigners

+0

thực sự chỉ package.json bạn có thể muốn hoàn nguyên, vì ng eject có thể thay đổi phần tập lệnh của bạn và thêm phụ thuộc dev (bộ nạp) cần thiết cho webpack. Mặc dù tôi nhận thấy rằng chạy ng eject với cờ -f kết hợp các tập lệnh npm cũ với các tập lệnh mới được thêm vào, nhưng nó phải được kiểm tra. Vì vậy, tôi nghĩ, nếu các tập lệnh npm cũ của bạn sau khi thoát ra vẫn nằm trong package.json và bạn không quan tâm đến trình tải, chỉ cần thay đổi hoặc xóa cờ "bị đẩy ra" trong * .angular.cli.json * và xóa * webpack. config.js * sẽ là đủ và bạn có thể chạy tất cả lệnh ng một lần nữa. ng eject không thay đổi bất kỳ mã tùy chỉnh hoặc lõi – Andriy

2

Với phiên bản hiện tại của cli góc bạn cần đánh dấu bị đẩy ra: giả hoặc loại bỏ thuộc tính được đẩy ra bên trong tệp angular-cli.json thay vì tệp package.json

1

Lệnh này làm cho phần cấu hình xây dựng của dự án của bạn và loại bỏ CLI góc. Và cũng thiết lập “ejected”: true trong tệp angular-cli.json, tạo tệp webpack.config.js mới trong thư mục gốc của dự án và các kịch bản lệnh đã được sửa đổi trong package.json.

Cuối cùng, để hoàn tác các lệnh ng-eject nó là cần thiết để chỉnh sửa các tập tin package.json lại

Các vấn đề liên quan