Đã thay đổi cú pháp sourceMappingURL và sourceURL

Paul Ireland

Nếu sử dụng bản đồ nguồn hoặc sourceURL (cả hai đều được đề cập trong HTML5 Rocks Primer trên Bản đồ nguồn), thì bạn có thể thấy cảnh báo trong bảng điều khiển của Chrome như "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.

Ảnh chụp màn hình Sourcemapping Devtools

Mục đích của việc này là:

Động lực

//@ sourceMappingURL được phát hiện xung đột với IE bất cứ khi nào tệp này được tìm thấy trên trang sau khi //@cc_on được diễn giải là bật tính năng biên dịch có điều kiện trong công cụ IE JScript. Phiên bản cũ của HTML5 Shiv là một trong những yếu tố vi phạm cụ thể ở đây.

Thay đổi thông số kỹ thuật

Cú pháp //@ sourceMappingURL được xác định trong thông số kỹ thuật của Sourcemap V3. Cú pháp này đã được thay đổi ở đó để sử dụng cú pháp //#.

sourceURL

//@ sourceURL cũng được xác định trong thông số kỹ thuật và được tạo để khớp với cú pháp //# nhằm đảm bảo tính nhất quán. Hãy theo dõi để biết thông tin chi tiết về nguồn URL có chức năng gì. Mã này được minispade của Ember, concatenate.js của Google và các miền khác sử dụng. Trong Chrome, ngoài JS được đánh giá, sourceURL còn được hỗ trợ cho tập lệnh cùng dòng và kiểu cùng dòng.

Triển khai trong Công cụ của trình duyệt = đã hoàn tất!

  • Trình kiểm tra Safari hiện hỗ trợ //# cho sourceMappingURL và sourceURL
  • Thay đổi của sử dụng thời gian đã diễn ra cho sourceURL.
  • Firefox đã diễn ra thay đổi đối với sourceMappingURL. Vé nguồn (sourceURL) có ở đây.
  • Công cụ cho nhà phát triển của Chrome đã thay đổi đối với sourceMappingURL và sourceURL. Thao tác này cũng sẽ cảnh báo về việc sử dụng cú pháp //@ không còn dùng nữa.

Mặc dù những thay đổi này sẽ trở thành bản phát hành ổn định, nhưng bạn có thể sử dụng đồng thời cả hai cú pháp để công cụ được hỗ trợ đầy đủ hoặc di chuyển ngay sang cú pháp #, tuỳ thuộc vào nhu cầu của bạn.