Jquery-1.10.2.min.map của jQuery đang kích hoạt 404 (Không tìm thấy)


1061

Tôi đang thấy thông báo lỗi về một tệp, min.mapkhô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

nhập mô tả hình ảnh ở đây

Cái này đến từ đâu vậy?


1
Để khắc phục vấn đề của tôi, tôi đã không làm theo các chi tiết của câu trả lời này. Trang web của tôi chỉ sử dụng tệp js, không phải bản đồ. Tôi chỉ cần xóa bộ nhớ cache của trình duyệt để giải quyết vấn đề này và khởi động lại trình duyệt. Nó bắt đầu xảy ra khi tôi bắt đầu nhận được một lỗi 500 Máy chủ nội bộ trên Trình xử lý ASP.NET chung (ExtDirectProxy.ashx) được xây dựng và chuyển dữ liệu đến jquery để tải trang. stackoverflow.com/questions/26135251/ Lời
MacGyver

1
thay đổi phiên bản bạn cần và tải xuống từ url bên dưới và đổi tên thành code.jquery.com/jquery-1.11.1.min.map
Iman

1
Điều này làm chậm tải xuống, vì trình duyệt tải xuống ngay cả khi không cần thiết.
Quentin ngày 2

1
@ Quentin2 theo html5rocks.com/en/tutorials/developertools/sourcemaps Tệp bản đồ nguồn sẽ chỉ được tải xuống nếu bạn bật bản đồ nguồn và mở công cụ dev của bạn.
Mathemats

Câu trả lời:


1271

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.maphoặ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.

Khắc phục: lấy các tập tin

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.

nhập mô tả hình ảnh ở đây

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ư ac.

Tìm hiểu thêm về sourcemaps tại đây: Giới thiệu về Bản đồ nguồn JavaScript

Dodge: vô hiệu hóa sourcemaps

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 đó: nhập mô tả hình ảnh ở đây


9
Tôi đang bỏ phiếu cho điều này (mặc dù bạn đã trả lời câu hỏi của riêng bạn) bởi vì lần đầu tiên tôi nhận thấy nó ngày hôm nay. Điều đó khiến tôi hơi điên khi cố gắng tìm ra nó, sau đó tôi nhận thấy lỗi 404 tương tự trên 2 trang web tôi đang làm việc và tùy chọn 'kích hoạt bản đồ nguồn' xuất hiện ... đó là những gì tôi nhận được khi xem các công cụ dev của bạn nói chuyện và bật tất cả mọi thứ cùng một lúc. Tôi sẽ xem qua các tài liệu bạn cung cấp.
adam-asdf

47
Tôi có hai điều để thêm. 1) Tải xuống tệp bản đồ jQuery là không đủ, bạn cũng sẽ cần mã nguồn không nén (nếu không, bạn sẽ thấy tệp jquery trống - *. Js trong khi gỡ lỗi). 2) Nếu bạn đang tải jQuery từ một trong các CDN thì cả ba tệp (bản đồ, mã nguồn được nén và không nén) đều ở cùng một vị trí và bạn có thể bắt đầu gỡ lỗi ngay lập tức.
Konrad Dzwinel

42
Tôi không chắc chắn một 404 nên được nâng lên cho điều này từ DevTools, có vẻ như mọi người nhầm lẫn. Tuy nhiên, ít nhất bây giờ tôi biết làm thế nào để đối phó với nó. Ngoài ra @ adam-asdf chỉ để bạn biết rằng bạn được khuyến khích tích cực trả lời câu hỏi của riêng bạn trên SO ... meta.stackexchange.com/questions/17845/
Greg

12
Tôi đồng ý với @Greg. Có lỗi 404 được nêu ra trong bảng điều khiển cho bản đồ nguồn (được yêu cầu thay mặt Chrome / DevTools) có vẻ không hữu ích lắm. Đặc biệt là vì nhiều người thậm chí sẽ không hiểu tại sao (hoặc từ đâu) tài nguyên đó đang được yêu cầu.
idbehold

9
@ SpYk3HH Hoàn toàn ổn khi chấp nhận câu trả lời của riêng bạn và chỉnh sửa thư viện của bên thứ 3 không thực sự được khuyến khích .. bởi vì nếu bạn muốn cập nhật nội dung, bạn sẽ quên những gì đã thay đổi.
Lipis

276

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 */

Mục đích của bản đồ nguồn

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 )


Xin lỗi, ý tôi là: có khi nào tôi cần dòng này không?
Flion

6
Chỉ bắt buộc khi bạn cần gỡ lỗi mã nguồn JS đã rút gọn của mình. Kiểm tra đoạn 2 ở đây để biết thêm chi tiết html5rocks.com/en/tutorials/developertools/sourcemaps
kiranvj

5
Ước gì tôi đã thấy điều này trước khi làm câu trả lời được chọn. Điều này dễ dàng hơn nhiều và NÊN là câu trả lời chính. Câu trả lời tự của op là tốt cho thông tin, nhưng chắc chắn là thứ yếu vì đây là câu hỏi đầu tiên bật lên khi googling làm thế nào để g3et thoát khỏi sự phiền toái này.
SpYk3HH

13
Chỉnh sửa thư viện để loại bỏ những thứ như vậy không phải là một lựa chọn tốt. Mỗi khi bạn cập nhật jquery, dòng này sẽ lại ở đó.
Arman P.

6
Kể từ tháng 1 năm 2014, các tham chiếu sourcemap không được bao gồm trong bản phân phối jQuery.
Dan Esparza

44

Vì nó được thông báo trong jQuery 1.11.0/2.1.0 Beta 2 Releasedbì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 Releasednhận xét bản đồ nguồn trong tệp được rút gọn đã bị xóa.


1
Nhưng nếu không có sự nhầm lẫn này, tôi sẽ không bao giờ nhìn lên đây và biết rằng bản đồ tồn tại. Tôi đã tự thêm các khoảng trắng vào các tệp được rút gọn mà tôi muốn xem lén.
icedwater

1
Trình duyệt Chrome có một nút sẽ định dạng một tệp khá nhỏ. Prettifier trực tuyến cũng có sẵn.
Quentin ngày 2


16

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 .


3
Không, tôi không tin jQuery "yêu cầu" tệp đó. Nó chỉ được yêu cầu nếu bạn muốn sử dụng bản đồ nguồn trong khi gỡ lỗi trong trường hợp cả tệp src và tệp bản đồ là cần thiết.
styfle

1
Xin chào @styfle, bản đồ nguồn được yêu cầu trong phiên bản 1.10.2, nhưng từ phiên bản 1.11.0 / 2.1.0 phải thêm thủ công, điều này là do nhiều người dùng bị ảnh hưởng bởi lỗi được tạo ra trong bảng điều khiển trình duyệt
Andres tách

9

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.mapkhỏi tệp JavaScript của mình.


9

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 :)


8

Sau khi làm theo các hướng dẫn trong các câu trả lời khác, tôi cần phải tách phiên bản khỏi tệp bản đồ để làm việc này cho tôi.

Ví dụ: Đổi tên

jquery-1.9.1.min.map

đến

jquery.min.map


6

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 ;\ndấ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ự.



1

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ụ:

  • Trong Apache, điều này có thể được thực hiện bằng lệnh <FilesMatch> hoặc RewriteRule nếu bạn đang sử dụng mod_rewrite.
  • Trong IIS, bạn cần tìm đến tệp Web.config .
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.