Tôi đang cố gắng bọc đầu về các tài sản tĩnh hoạt động như thế nào trong môi trường sản xuất, tài liệu có vẻ hơi sợ hãi, nhưng nó chỉ có thể là tôi.Tài sản trong môi trường sản xuất, và tải lên tập tin
Theo http://www.phoenixframework.org/docs/deployment tôi nên chạy MIX_ENV=prod mix phoenix.digest
, như một phần của triển khai của mình. Điều này dường như sao chép tất cả các tài sản của tôi, với một chuỗi nối với tên, sau đó được phục vụ nếu sử dụng static_path/2
, tôi cho rằng điều này có liên quan đến bộ nhớ đệm khi triển khai. Tuyệt quá!
Chức năng tiêu hóa cũng tạo ra manifest.json bên trong thư mục priv của tôi, nó trông giống như thế này ..
{"images/calltoaction.png":"images/calltoaction-13cfefeb09c991b12090bcf0a10f2dd2.png","fonts/fontawesome-webfont.woff2":"fonts/fontawesome-webfont-4b5a84aaf1c9485e060c503a0ff8cadb.woff2","im.....
Tôi cho rằng Phoenix sử dụng này để lập bản đồ tài sản để version.Please tương ứng của họ làm đúng tôi, nếu tôi hoàn toàn sai ở đây. Oooh, theo câu hỏi của tôi.
Trong ứng dụng của tôi, quản trị viên có thể tải lên hình ảnh trong bảng điều khiển quản trị, chúng được tải lên /priv/static/images/model/version/..
. Vấn đề là những hình ảnh mới tải lên này, không có trong tệp manifest.json và sẽ không hiển thị hình ảnh đó?
Điều này có vẻ rất sôi nổi, vì hình ảnh mới không được hiển thị, không được thay thế hình ảnh, v.v. Làm cách nào để xử lý sự cố này? Tôi có nên tải hình ảnh của mình lên một nơi khác, không nên được tiêu hóa không?
Tôi đã kết thúc thêm một Plug.Static khác và sử dụng/tải lên tệp, điều này dường như tránh bộ nhớ cache cho các tệp đã tải lên. :) – MartinElvar
Nó là lạ bạn cần một plug mặc dù. Chỉ cần cho sự tò mò: bạn đã thử đề nghị ở trên và nó đã không hoạt động hoặc đề nghị của tôi đã đến quá muộn? :) –
Tôi chưa bao giờ sử dụng 'static_path' cho hình ảnh đã tải lên, có vẻ như tệp kê khai thông báo đã ngăn chặn bất kỳ video tải lên mới nào được hiển thị, đó là lý do tôi thêm một plugin mới. – MartinElvar