Tôi đang thấy thông báo lỗi về một tệp, min.map
không tìm thấy:
NHẬN jquery-1.10.2.min.map của jQuery đang kích hoạt 404 (Không tìm thấy)
Ảnh chụp màn hình
Cái này đến từ đâu vậy?
Tôi đang thấy thông báo lỗi về một tệp, min.map
không tìm thấy:
NHẬN jquery-1.10.2.min.map của jQuery đang kích hoạt 404 (Không tìm thấy)
Cái này đến từ đâu vậy?
Câu trả lời:
Nếu DevTools của Chrome đang báo cáo 404 cho tệp .map (có thể jquery-1.10.2.min.map
, jquery.min.map
hoặc jquery-2.0.3.min.map
, nhưng có thể xảy ra với bất cứ điều gì) thì điều đầu tiên cần biết là điều này chỉ được yêu cầu khi sử dụng DevTools.
Người dùng của bạn sẽ không nhấn 404 này.
Bây giờ bạn có thể sửa lỗi này hoặc vô hiệu hóa chức năng sourcemap.
Tiếp theo, đó là một sửa chữa dễ dàng. Đi tới http://jquery.com/doad/ và nhấp vào liên kết Tải xuống tệp bản đồ cho phiên bản của bạn và bạn cũng muốn tải xuống tệp không nén.
Có tệp bản đồ tại chỗ cho phép bạn gỡ lỗi jQuery đã rút gọn của mình thông qua các nguồn ban đầu, điều này sẽ tiết kiệm rất nhiều thời gian và sự thất vọng nếu bạn không thích xử lý các tên biến như a
và c
.
Tìm hiểu thêm về sourcemaps tại đây: Giới thiệu về Bản đồ nguồn JavaScript
Thay vì nhận các tệp, bạn có thể vô hiệu hóa hoàn toàn bản đồ nguồn JavaScript ngay bây giờ, trong cài đặt của mình. Đây là một lựa chọn tốt nếu bạn không bao giờ có kế hoạch gỡ lỗi JavaScript trên trang này. Sử dụng biểu tượng răng cưa ở dưới cùng bên phải của DevTools, để mở cài đặt, sau đó:
Bạn có thể xóa 404 bằng cách xóa dòng
//@ sourceMappingURL=jquery-1.10.2.min.map
từ phần trên cùng của tệp jQuery của bạn.
Phần trên cùng của tệp jQuery sẽ trông như thế này.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Chỉ cần thay đổi nó thành
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
Về cơ bản, đó là một cách để ánh xạ tệp kết hợp / rút gọn trở lại trạng thái chưa được xây dựng. Khi bạn xây dựng để sản xuất, cùng với việc thu nhỏ và kết hợp các tệp JavaScript của mình, bạn sẽ tạo một bản đồ nguồn chứa thông tin về các tệp gốc của mình. Khi bạn truy vấn một số dòng và số cột nhất định trong JavaScript được tạo, bạn có thể thực hiện tra cứu trong bản đồ nguồn trả về vị trí ban đầu. Các công cụ dành cho nhà phát triển (hiện tại là các bản dựng hàng đêm của WebKit, Google Chrome hoặc Firefox 23+) có thể tự động phân tích 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 sắp xếp và không được sắp xếp. (Đọc thêm về điều này ở đây )
Vì nó được thông báo trong jQuery 1.11.0/2.1.0 Beta 2 Released
bình luận bản đồ nguồn sẽ bị xóa nên vấn đề sẽ không xuất hiện trong các phiên bản mới hơn của jQuery
.
Đây là thông báo chính thức:
Một trong những thay đổi chúng tôi đã thực hiện trong bản beta này là xóa bình luận sourcemap. Sourcemaps đã được chứng minh là một vấn đề rất rắc rối và khó hiểu đối với các nhà phát triển, tạo ra vô số câu hỏi khó hiểu trên các diễn đàn như StackOverflow và khiến người dùng nghĩ rằng chính jQuery đã bị hỏng.
Dù sao, nếu bạn cần sử dụng bản đồ nguồn, nó vẫn có sẵn:
Chúng tôi vẫn sẽ tạo và phân phối sourcemaps, nhưng bạn sẽ cần thêm nhận xét sourcemap thích hợp ở cuối tệp được rút gọn nếu trình duyệt không hỗ trợ liên kết các tệp bản đồ theo cách thủ công (hiện tại, không có gì). Nếu bạn tạo tệp jQuery của riêng mình bằng quy trình xây dựng tùy chỉnh, nhận xét sourcemap sẽ có mặt trong tệp được rút gọn và bản đồ được tạo; bạn có thể để nó vào và sử dụng sourcemaps hoặc chỉnh sửa nó và bỏ qua hoàn toàn tệp bản đồ.
Ở đây bạn có thể tìm thêm chi tiết về những thay đổi.
Tại đây bạn có thể tìm thấy xác nhận rằng với jQuery 1.11.0/2.1.0 Released
nhận xét bản đồ nguồn trong tệp được rút gọn đã bị xóa.
Tải xuống tệp bản đồ và phiên bản không nén của jQuery .
Đặt chúng với phiên bản rút gọn:
Bao gồm phiên bản rút gọn vào HTML của bạn :
Đăng ký Google Chrome:
Làm quen với JavaScript gỡ lỗi
Các phiên bản mới của jQuery yêu cầu tệp này http://code.jquery.com/jquery-1.10.2.min.map
Khả năng sử dụng của tệp này được mô tả ở đây http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Cập nhật:
jQuery 1.11.0 / 2.1.0
// sourceMappingURL bình luận không được bao gồm trong tệp nén .
Theo tôi hiểu trình duyệt, Chrome ít nhất, nó không vô hiệu hóa ánh xạ nguồn theo mặc định. Điều đó có nghĩa là người dùng ứng dụng của bạn sẽ kích hoạt yêu cầu ánh xạ nguồn này theo mặc định.
Bạn có thể xóa ánh xạ nguồn bằng cách xóa //@ sourceMappingURL=jquery.min.map
khỏi tệp JavaScript của mình.
Nếu bạn muốn lấy tệp bản đồ nguồn phiên bản khác nhau, bạn có thể sử dụng liên kết này http://code.jquery.com/jquery-x.xx.x.min.map
Thay vào đó x.xx.x đặt số phiên bản của bạn.
Lưu ý: Một số liên kết, mà bạn nhận được trên phương pháp này, có thể bị hỏng :)
Tôi đã được trình bày với cùng một vấn đề. Nguyên nhân đối với tôi là Grunt nối tệp JavaScript của tôi.
Tôi đã sử dụng một ;\n
dấu phân cách dẫn đường dẫn đến bản đồ nguồn tới 404.
Vì vậy, các công cụ dev đã tìm kiếm jquery.min.map;
thay vì jquery.min.map
.
Tôi biết đó không phải là câu trả lời cho câu hỏi ban đầu, nhưng tôi chắc chắn có những câu hỏi khác có cấu hình Grunt tương tự.
jQuery 1.11.0 / 2.1.0 bình luận // sourceMappingURL không được bao gồm trong tệp nén.
Giả sử bạn đã kiểm tra tệp thực sự có trên máy chủ, điều này cũng có thể do máy chủ web của bạn hạn chế loại tệp nào được phục vụ: