2015-02-02 26 views
6

Tôi đã thử googling và có some good info về cách bản đồ nguồn A-to-B hoạt động, nhưng tôi không thể tìm thấy bất kỳ giải thích nào về hậu cần của Bản đồ nguồn A-to-B-to-C.Bản đồ nguồn hoạt động như thế nào qua nhiều bước xây dựng liên tiếp?

Ví dụ, với Browserify nó có thể có các file đầu vào của các loại khác nhau (như main.js, module-1.coffee, module-2.es6), và sử dụng biến đổi (coffeeify, 6to5ify) để sửa đổi dữ liệu trên đường vào. Trận chung kết bundle.js chứa một nội tuyến khổng lồ URI dữ liệu trong nhận xét bản đồ nguồn. Và nó hoạt động - nếu một số dòng trong bundle.js ném một lỗi, sau đó devtools hiển thị cho tôi tệp nguồn và số dòng gốc, ngay cả khi nó nằm trong mô-đun CoffeeScript.

Bất cứ ai có thể giúp tôi hiểu hậu cần của việc này ... Tất cả các sourcemaps có được 'thu gọn' thành một bản đồ nguồn duy nhất ở cuối không? Hoặc trình duyệt devtools có phải đi qua một cây bản đồ nguồn cho đến khi nó tìm thấy một tệp không có nhận xét bản đồ nguồn không? Hay nó hoạt động theo cách khác?

(Có lẽ công cụ này cũng đã được ghi nhận và tôi chỉ googling các điều khoản sai?)

Trả lời

0

Vâng, họ đang sụp đổ, như bản đồ nguồn đa cấp không standartized được nêu ra. Nó đi like this:

var gen = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(jsToMinMap)); 
gen.applySourceMap(new SourceMapConsumer(coffeeToJsMap)); 
var map = gen.toJSON(); 

Một số thông tin ở những previous topic trên Stack Overflow.

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