2015-09-23 36 views
5

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?

Trả lời

1

Tệp kê khai là tính năng lưu vào bộ nhớ cache. Nó được sử dụng bởi static_path để tạo liên kết trỏ đến nội dung. Nếu bạn không thể sử dụng nó cho tất cả nội dung, vì chúng đang được tải động, bạn không cần sử dụng nó. Nói cách khác, bạn sẽ có thể tải lên tài sản của mình và chỉ sử dụng static_path như thường lệ và chúng sẽ được phân phát như trong phát triển.

+0

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

+1

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? :) –

+1

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

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