Làm thế nào để Build product angular không bị lưu cache ( Máy bên người dùng sẽ được cập nhật phiên bản mới)
Cả nhà cho mình hỏi làm thế nào để khi build product của anglar mà bên máy người dùng sẽ tự động xóa cache ( cập nhật phiên bản mới) khi load lại hoặc 1 thực hiện 1 thao tác nào đó?
1 CÂU TRẢ LỜI
bạn thêm option này vào lúc chạy command build nhé --output-hashing=all
. Ví dụ:
ng build --configuration production --output-hashing=all
dùng option đó khi build thì các file bundle sẽ có dạng: main.123456.js
, trong đó 123456
là một mã hash đc sinh tự động.
Giải thích: giả sử hiện tại file bundle đang lưu ở client là main.1111.js
. Sau khi bạn build lại production thì sinh ra file main.123456.js
, thì lần tới client access vào nó sẽ tải file main.123456.js
về và thấy rằng file mới khác file cũ thì nó sẽ tự động dùng file mới
cái hash đấy mỗi lần build nó sẽ khác nhau, nên đối với client sẽ là 2 các file khác nhau, chứ ko phải client nó nhận thấy khác với file cũ được.
@Plumpboy uk nói như bạn là chính xác nhé