Estou vendo mensagens de erro sobre um arquivo, min.map
não sendo encontradas:
O jquery-1.10.2.min.map do jQuery GET está acionando um 404 (não encontrado)
Captura de tela
De onde isso vem?
Estou vendo mensagens de erro sobre um arquivo, min.map
não sendo encontradas:
O jquery-1.10.2.min.map do jQuery GET está acionando um 404 (não encontrado)
De onde isso vem?
Respostas:
Se o Chrome DevTools estiver reportando um 404 para um arquivo .map (talvez jquery-1.10.2.min.map
, jquery.min.map
ou 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.
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.
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 a
e c
.
Mais sobre os mapas de fonte aqui: Uma Introdução aos Mapas de Origem JavaScript
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:
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 */
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 )
Conforme anunciado no jQuery 1.11.0/2.1.0 Beta 2 Released
mapa 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 Released
comentário do mapa de origem no arquivo compactado, foi removido.
Faça o download do arquivo de mapa e da versão não compactada do jQuery .
Coloque-os com a versão minificada:
Inclua versão reduzida no seu HTML :
Verifique no Google Chrome:
Familiarize-se com a Depuração de JavaScript
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 .
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.map
do seu arquivo JavaScript.
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 :)
Fui apresentado com o mesmo problema. A causa para mim foi Grunt concatenar meu arquivo JavaScript.
Eu estava usando um ;\n
como 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.
jQuery 1.11.0 / 2.1.0 o comentário // sourceMappingURL não está incluído no arquivo compactado.
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: