2011-11-10 24 views
9

Tôi hiện đang phục vụ tất cả các tài sản tĩnh của tôi từ Amazon S3. Tôi muốn bắt đầu sử dụng các thành phần gzipped. Tôi đã gzipped và xác nhận rằng Amazon là thiết lập các tiêu đề chính xác. Tuy nhiên, các kiểu không tải.Cách phân phối tài sản gzipped từ Amazon S3

Tôi mới sử dụng các thành phần gzip, vì vậy có thể tôi đang thiếu thứ gì đó? Tôi không thể tìm thấy quá nhiều thông tin về điều này với Amazon S3.

+0

Bạn đã thử mở bảng điều khiển dành cho nhà phát triển của trình duyệt và kiểm tra lỗi truy cập vào các tài nguyên đó chưa? – birryree

+0

Tôi nhận được lỗi này: 'Uncaught SyntaxError: Mã thông báo không mong muốn ILLEGAL' – Benjamin

+0

Lưu ý: lỗi trên xảy ra khi bạn đang phục vụ tệp gzipped từ S3 mà không cần cài đặt mã hóa nội dung thích hợp (xem bên dưới). – Benjamin

Trả lời

23

Để tham khảo sau này cho bất kỳ ai khác về sự cố này:

Gzip các thành phần của bạn. Sau đó, loại bỏ phần mở rộng .gz chỉ để lại phần mở rộng .css hoặc .js. Tải tệp lên nhóm của bạn.

Từ bảng điều khiển S3 của bạn, kéo các thuộc tính cho tệp bạn vừa tải lên. Trong tiêu đề 'Siêu dữ liệu', nhập thông tin này:

'content-type'  : 'text/css' or 'text/javascript' 
'content-encoding' : 'gzip' 

Tùy chọn giá trị này không có sẵn theo mặc định (wtf) để bạn phải nhập thủ công.