Sự khác biệt giữa các tham số --base-href và --deploy-url của công cụ angle-cli


90

Tài liệu về Angular cho biết tôi nên sử dụng --base-hreftham số trong bản dựng ứng dụng Angular để sản xuất khi nó sẽ được triển khai trong một thư mục con của máy chủ:

Nếu bạn sao chép các tệp vào một thư mục con của máy chủ, hãy gắn cờ bản dựng --base-hrefvà đặt <base href>thích hợp.

Ví dụ: nếu index.htmlcó trên máy chủ lúc /my/app/index.html, hãy đặt href cơ sở thành <base href="https://stackoverflow.com/my/app/">như thế này.

https://angular.io/guide/deployment

Tuy nhiên, angle-cli có --deploy-urltham số. Tài liệu của công cụ mô tả nó là:

URL nơi các tệp sẽ được triển khai.

https://github.com/angular/angular-cli/wiki/build

Tôi đã thấy các giải pháp sử dụng phần --deploy-urlbổ sung --base-hrefkhi ứng dụng sẽ được triển khai trong một thư mục con của máy chủ.

Câu hỏi

Sự khác biệt giữa --base-href--deploy-urlcác tham số của công cụ angle-cli là gì? Khi nào tôi nên sử dụng mỗi cái?

Câu trả lời:



26

Để đặt các tập lệnh của tôi bên trong thư mục " / test / app1 / script / ", tôi sử dụng lệnh sau:

ng build --prod --base-href /test/app1/ --deploy-url /test/app1/script/

Do đó, ứng dụng của tôi có thể truy cập tại https://example.com/test/app1/ nhưng các tập lệnh JS và CSS của tôi nằm trong thư mục https://example.com/test/app1/script/ .


Đây là một câu trả lời tuyệt vời, nhưng được cảnh báo rằng nó có thể ảnh hưởng đến việc tải các mô-đun một cách lười biếng. Vd: { path: 'myModule', loadChildren: () => import( './myModule/my.module' ).then( m => m.MyModule ) }
Ken Hadden

9

Nếu tôi muốn sử dụng / users làm cơ sở ứng dụng cho bộ định tuyến và / public làm cơ sở cho nội dung của mình.

ng build --prod --base-href /users --deploy-url /public 

Xem blog của Shekhar Gulati để biết ví dụ chi tiết ...


Tôi đang theo dõi chủ đề này với tương tự của tôi với vấn đề này. Đây là lệnh của tôi: "ng build --watch = true --baseHref = / dist / --outputPath = D: \ application_root \ dist --deployUrl = / dist /". Những gì tôi đang cố gắng nói là chạy ứng dụng từ thư mục application_root, nhưng tất cả mã cho giao diện người dùng đều nằm trong thư mục con "dist". Ngoài ra, tôi có phải sao chép index.html từ dist vào thư mục gốc không?
Đánh dấu

1
--base-href /users/và không --base-href /users. (thiếu dấu gạch chéo)
bvdb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.