2013-08-25 5 views
90

Mam stronę internetową, która jest częścią strony internetowej ASP.NET działającej na platformie Azure. To działa dobrze od jakiegoś czasu. Nagle mam problem z przeglądarką, próbującą pobrać ".map" dla Underscore.js. Zrobiłem trochę czytania i najwyraźniej JQuery tworzy pliki ".map" jako narzędzia do debugowania plików źródłowych JavaScript (".js"). Jednakże, jeśli spojrzę na katalog skryptów dla mojej strony internetowej, widzę, że dzieje się tak tylko w przypadku niektórych plików źródłowych JQuery, a nie wszystkich i nie jestem pewien co to jest wzorzec.Brak pliku JavaScript ".map" dla pliku Underscore.js podczas ładowania strony internetowej ASP.NET.

Dlaczego jednak przeglądarka próbuje załadować plik "map" dla pliku Underscore.js, który nie jest częścią JQuery? Dlaczego tak nagle się to zaczęło? Dodałem Underscore.js do strony internetowej jakiś czas temu i nigdy wcześniej nie miałem tego problemu.

Dokładny błąd pojawia się, gdy patrzę w zakładce Chrome Debugger konsola jest:

GET http://myazureapp.cloudapp.net/Scripts/underscore-min.map 404 (Not Found) Skrypty/underscore-min.map: 1

Odpowiedz

219

czego doświadczamy, jest source mapping. Pozwala to na debugowanie za pomocą czytelnego kodu w narzędziach programistycznych przeglądarki podczas pracy ze zminimalizowanymi plikami JS.

minified wersja podkreślenia ma ten wiersz na końcu pliku: Developerzy narzędzia

//# sourceMappingURL=underscore-min.map 

Twojej przeglądarce będzie próbował ściągnąć underscore-min.map po napotkaniu tej linii.

Jeśli chcesz pozbyć się błędu, albo:

  1. Usuń ten wiersz z underscore-min.js
  2. Dodaj underscore-min.map i underscore.js do projektu.
+1

Ponieważ nie chcę dotykać kodów źródłowych (zostanie utracony podczas następnej aktualizacji), czy istnieje jakakolwiek konfiguracja pomruku, aby wymusić inną nazwę zamiast "podkreślenia-min.map"? Lub jakikolwiek inny łatwiejszy sposób zamiast ręcznej zmiany kodu? – lubosdz

+0

@lubosdz czy wypróbowałeś punkt 2 w odpowiedzi? W moim przypadku po prostu utworzyłem dodatkowy pusty plik o tej samej nazwie co oryginał, ale z rozszerzeniem .map zamiast .js (np. Foo.min.js => add empty foo.min.map). Ułatwia to przeglądarkę i nie wpływa na kod źródłowy ani aktualizacje. – pasx

Powiązane problemy