56
  • Bản đồ nguồn có nên được sử dụng trong môi trường sản xuất không? Họ có cung cấp bất kỳ lợi ích nào ngoài gỡ lỗi không?
  • Chúng có ảnh hưởng đến thời gian tải ứng dụng do các chuyến đi khứ hồi của máy chủ bổ sung không? Trình duyệt có đủ thông minh để tải các tài sản .map sau khi ứng dụng được tải và hiển thị không?
  • Nếu trình duyệt không thể tìm thấy tài sản .map (lỗi 404), sẽ có tác động hiệu suất không? Tôi có nên quan tâm đến việc sửa chữa nó?

Lưu ý rằng sửa lỗi cuối cùng có thể không dễ dàng như phục vụ tài sản .map nếu có các bước xây dựng concat/minify phức tạp.Tác động hiệu quả của việc sử dụng bản đồ nguồn css/javascript trong sản xuất?

+1

Vâng, một yêu cầu HTTP vô nghĩa chắc chắn cần có thời gian và băng thông. – Pointy

+3

Tôi đã bỏ lỡ điều gì đó? Không phải là bản đồ nguồn có nghĩa là để gỡ lỗi, cuối cùng bạn sẽ không xóa những bản đồ đó trong mã sản xuất? – adeneo

+4

Vì bản đồ nguồn được đặt trong các nhận xét, tôi giả định rằng trình duyệt bỏ qua chúng cho đến khi chúng được yêu cầu cụ thể, chẳng hạn như trong bảng điều khiển dành cho nhà phát triển. – Wex

Trả lời

58

Xét nghiệm nhanh chóng sử dụng Charles Web Proxy cho thấy bản đồ nguồn là chỉ nạp nếu công cụ phát triển được mở. Nếu bạn tải một trang mà không cần công cụ dev mở, không có yêu cầu http cho bản đồ nguồn.

Hành vi này giống nhau trong Chrome 43 và Firefox 38.

Vì vậy, có vẻ như chúng sẽ không ảnh hưởng đến môi trường sản xuất.

2

Từ HTML5 Rocks:

Về cơ bản đó là một cách để ánh xạ một kết hợp/tập tin minified trở lại trạng thái unbuilt . Khi bạn xây dựng cho sản xuất, cùng với việc khai thác và kết hợp các tệp JavaScript của bạn, bạn tạo bản đồ nguồn chứa thông tin về các tệp gốc của bạn. Khi bạn truy vấn một số dòng nhất định và số cột trong JavaScript được tạo của mình, bạn có thể thực hiện tra cứu trong bản đồ nguồn trả về vị trí ban đầu. Công cụ dành cho nhà phát triển (hiện tại WebKit bản dựng hàng đêm, Google Chrome hoặc Firefox 23+) có thể tự động phân tích cú pháp bản đồ nguồn và làm cho nó xuất hiện như thể bạn đang chạy các tệp chưa được hợp nhất và không được kết hợp.

http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

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