O jquery-1.10.2.min.map do jQuery está acionando um 404 (não encontrado)

1061

Estou vendo mensagens de erro sobre um arquivo, min.mapnão sendo encontradas:

O jquery-1.10.2.min.map do jQuery GET está acionando um 404 (não encontrado)


Captura de tela

insira a descrição da imagem aqui

De onde isso vem?

Paul Irish
fonte
1
Para corrigir meu problema, não segui os detalhes desta resposta. Meu site está usando apenas o arquivo js, ​​não o mapa. Simplesmente limpei o cache do navegador para resolver isso e reiniciei o navegador. Começou a ocorrer quando comecei a receber um erro 500 Internal Server em um manipulador genérico do ASP.NET (ExtDirectProxy.ashx) criado e transmitido dados ao jquery para carregar a página. stackoverflow.com/questions/26135251/…
MacGyver
1
altere a versão necessária e faça o download a partir da URL abaixo e renomeie-a code.jquery.com/jquery-1.11.1.min.map
Iman
1
Isso reduz a velocidade de downloads, pois os navegadores fazem o download, mesmo que não seja necessário.
Quentin 2
1
@ Quentin2 conforme html5rocks.com/en/tutorials/developertools/sourcemaps O arquivo do mapa de origem só será baixado se você tiver os mapas de origem ativados e as ferramentas de desenvolvimento abertas.
Mathemats

Respostas:

1271

Se o Chrome DevTools estiver reportando um 404 para um arquivo .map (talvez jquery-1.10.2.min.map, jquery.min.mapou jquery-2.0.3.min.map, mas pode acontecer com qualquer coisa), a primeira coisa a saber é que isso só é solicitado quando o DevTools é usado. Seus usuários não estarão atingindo este 404.

Agora você pode corrigir isso ou desativar a funcionalidade do mapa de origem.

Correção: obtenha os arquivos

Em seguida, é uma solução fácil. Vá para http://jquery.com/download/ e clique no link Baixar o arquivo de mapa para sua versão, e você também desejará que o arquivo não compactado seja baixado.

insira a descrição da imagem aqui

Ter o arquivo de mapa no lugar permite depurar seu jQuery minificado através das fontes originais, o que economizará muito tempo e frustração se você não gostar de lidar com nomes de variáveis ​​como ae c.

Mais sobre os mapas de fonte aqui: Uma Introdução aos Mapas de Origem JavaScript

Esquivar: desativar mapas de origem

Em vez de obter os arquivos, você pode desativar os mapas de origem JavaScript completamente por enquanto, nas suas configurações. Essa é uma boa opção se você nunca planeja depurar o JavaScript nesta página. Use o ícone de engrenagem no canto inferior direito do DevTools para abrir as configurações e: insira a descrição da imagem aqui

Paul Irish
fonte
9
Estou votando a favor (mesmo que você tenha respondido sua própria pergunta) porque pela primeira vez percebi hoje. Isso estava me deixando um pouco louco tentando descobrir, então notei o mesmo erro 404 em 2 sites em que eu estava trabalhando e a opção 'ativar mapas de origem' me veio à mente ... é o que eu ganho ao assistir suas ferramentas de desenvolvimento fala e liga tudo de uma vez. Vou revisar os documentos que você forneceu.
adam-asdf
47
Eu tenho duas coisas a acrescentar. 1) O download de um arquivo de mapa jQuery não é suficiente; você também precisará de um código-fonte descompactado (caso contrário, você verá um arquivo jquery - *. Js vazio durante a depuração). 2) Se você estiver carregando o jQuery de um dos CDNs, todos os três arquivos (mapa, código-fonte compactado e descompactado) estão no mesmo local e você pode começar a depurar imediatamente.
precisa saber é o seguinte
42
Não tenho certeza se um 404 deve ser criado para isso no DevTools, confunde as pessoas ao que parece. No entanto, pelo menos agora eu sei como lidar com isso. Também @ adam-asdf só assim você sabe que você está ativamente encorajados a responder à sua própria pergunta sobre SO ... meta.stackexchange.com/questions/17845/...
Greg
12
Eu concordo com @Greg. A ocorrência de um erro 404 no console para um mapa de origem (solicitado em nome do Chrome / DevTools) não parece muito útil. Especialmente porque muitas pessoas nem sequer entendem por que (ou de onde) esse recurso está sendo solicitado.
Idsegmentar 28/08
9
@ SpYk3HH É muito bom aceitar sua própria resposta e editar bibliotecas de terceiros não é realmente aconselhável .. porque se você quiser atualizar as coisas, esquecerá o que foi alterado.
Lipis 13/10
276

Você pode remover o 404 removendo a linha

//@ sourceMappingURL=jquery-1.10.2.min.map

na parte superior do seu arquivo jQuery.

A parte superior do arquivo jQuery ficará assim.

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/

Apenas mude isso para

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

Objetivo de um mapa de origem

Basicamente, é uma maneira de mapear um arquivo combinado / minificado de volta para um estado não construído. Ao criar para produção, além de reduzir e combinar seus arquivos JavaScript, você gera um mapa de origem que contém informações sobre seus arquivos originais. Ao consultar um determinado número de linha e coluna no JavaScript gerado, você pode fazer uma pesquisa no mapa de origem que retorna o local original. As ferramentas do desenvolvedor (atualmente compilações noturnas do WebKit, Google Chrome ou Firefox 23 ou superior) podem analisar o mapa de origem automaticamente e parecer que você está executando arquivos não minificados e desinibidos. (Leia mais sobre isso aqui )

kiranvj
fonte
Desculpe, eu quis dizer: existe alguma ocasião em que eu precisaria dessa linha?
Flion
6
Necessário apenas quando você precisa depurar seu código-fonte JS minificado. Verifique 2º parágrafo aqui para mais detalhes html5rocks.com/en/tutorials/developertools/sourcemaps
kiranvj
5
Gostaria de ter visto isso antes de fazer a resposta selecionada. Isso é muito mais fácil e deve ser a resposta principal. A auto-resposta da operação é boa para informações, mas é definitivamente secundária, pois esta é a primeira pergunta que surge ao pesquisar no Google como se livrar desse aborrecimento.
SpYk3HH
13
Editar bibliotecas para se livrar dessas coisas não é uma boa escolha. Sempre que você atualizar o jquery, essa linha estará lá novamente.
Arman P.
6
Desde janeiro de 2014, as referências do mapa de origem não estão incluídas na distribuição do jQuery.
Dan Esparza
44

Conforme anunciado no jQuery 1.11.0/2.1.0 Beta 2 Releasedmapa de origem, o comentário será removido para que o problema não apareça nas versões mais recentes do jQuery.

Aqui está o anúncio oficial:

Uma das alterações que fizemos nesta versão beta é remover o comentário do mapa de origem. Os mapas de fonte provaram ser uma coisa muito problemática e intrigante para os desenvolvedores, gerando dezenas de perguntas confusas em fóruns como o StackOverflow e fazendo com que os usuários pensassem que o próprio jQuery estava quebrado.

De qualquer forma, se você precisar usar um mapa de origem, ele ainda estará disponível:

Ainda estaremos gerando e distribuindo mapas de origem, mas você precisará adicionar o comentário apropriado do mapa de origem no final do arquivo compactado se o navegador não suportar a associação manual de arquivos de mapa (atualmente, nenhum). Se você gerar seu próprio arquivo jQuery usando o processo de construção customizado, o comentário do mapa de origem estará presente no arquivo minificado e o mapa será gerado; você pode deixá-lo em uso e usar mapas de origem ou editá-lo e ignorar completamente o arquivo de mapa.

Aqui você pode encontrar mais detalhes sobre as alterações.


Aqui você pode encontrar a confirmação de que, com o jQuery 1.11.0/2.1.0 Releasedcomentário do mapa de origem no arquivo compactado, foi removido.

gotqn
fonte
1
Mas se não fosse por essa confusão, eu nunca teria procurado aqui e saberia que existem mapas. Eu adicionava espaços manualmente a arquivos minificados nos quais queria espiar.
icedwater
1
O navegador Chrome possui um botão que formata bastante um arquivo compactado. Prettifiers online também estão disponíveis.
Quentin 2
16

As novas versões do jQuery requerem este arquivo http://code.jquery.com/jquery-1.10.2.min.map

A usabilidade deste arquivo é descrita aqui http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

Atualizar:

jQuery 1.11.0 / 2.1.0

// O comentário sourceMappingURL não está incluído no arquivo compactado .

Andres Separ
fonte
3
Não, não acredito que o jQuery "exija" esse arquivo. Isso é necessário apenas se você desejar usar o mapa de origem durante a depuração. Nesse caso, o arquivo src e o mapa são necessários.
styfle
1
Olá @styfle, o mapa de origem era necessário na versão 1.10.2, mas a partir da versão 1.11.0 / 2.1.0 deve adicioná-lo manualmente, isso ocorre porque muitos usuários foram afetados pelo erro produzido no console do navegador
Andres Separ
9

Pelo que entendi, o Chrome, pelo menos, não desabilita o mapeamento de origem por padrão. Isso significa que os usuários do seu aplicativo acionarão essa solicitação de mapeamento de origem por padrão.

Você pode remover o mapeamento de origem excluindo o //@ sourceMappingURL=jquery.min.mapdo seu arquivo JavaScript.

James J. Ye
fonte
9

Se você deseja obter uma versão diferente do arquivo de mapa de origem, pode usar este link http://code.jquery.com/jquery-x.xx.x.min.map

Em vez disso, x.xx.x coloque o número da sua versão.

Nota: Alguns links, que você obtém neste método, podem estar quebrados :)

Andriyun
fonte
8

Depois de seguir as instruções nas outras respostas, eu precisava retirar a versão do arquivo de mapa para que isso funcionasse para mim.

Exemplo: Renomear

jquery-1.9.1.min.map

para

jquery.min.map

drobison
fonte
6

Fui apresentado com o mesmo problema. A causa para mim foi Grunt concatenar meu arquivo JavaScript.

Eu estava usando um ;\ncomo um separador que causou o caminho para o mapa de origem para 404.

Então, ferramentas de desenvolvimento estava procurando em jquery.min.map;vez de jquery.min.map.

Sei que essa não é a resposta para a pergunta original, mas tenho certeza de que há outras pessoas com uma configuração semelhante ao Grunt.

nickspiel
fonte
5

jQuery 1.11.0 / 2.1.0 o comentário // sourceMappingURL não está incluído no arquivo compactado.

user3235672
fonte
1

Supondo que você tenha verificado que o arquivo está realmente presente no servidor, isso também pode ser causado pelo fato de o servidor da Web restringir quais tipos de arquivos são veiculados:

Molomby
fonte