jQuery's jquery-1.10.2.min.map está desencadeando um 404 (Não Encontrado)

I'estou vendo mensagens de erro sobre um arquivo, min.map, não sendo encontrado:

GET jQuery's jquery-1.10.2.min.map está desencadeando um 404 (Não encontrado)


Tela de imagem

De onde é que isto vem?

Solução

Se o Chrome DevTools está 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 se utiliza o DevTools. Os seus usuários não irão acertar este 404.

Agora você pode corrigir isso ou desativar a funcionalidade sourcemap.

Correcção: obter os ficheiros

A seguir, é uma solução fácil. Vá até http://jquery.com/download/ e clique no link Download do arquivo de mapa para sua versão, e você vai querer que o arquivo não comprimido seja baixado também.

Ter o arquivo de mapa no lugar permite que você faça a depuração do 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' ec'.

Mais sobre sourcemaps aqui: Uma Introdução ao JavaScript Source Maps

Dodge: desabilitar sourcemaps

Em vez de obter os arquivos, você pode, alternativamente, desativar completamente os mapas fonte em JavaScript por enquanto, em suas configurações. Esta é uma boa escolha se você nunca planeja depurar o JavaScript nesta página. Use o ícone da engrenagem no canto inferior direito do DevTools, para abrir as configurações, então:

Comentários (11)

Você pode remover o 404 removendo a linha

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

da parte superior do seu arquivo jQuery.

A parte superior do arquivo jQuery será parecida com esta.

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

Basta mudar isso para

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

Finalidade de um mapa de origem

Basicamente é uma forma de mapear um arquivo combinado/minificado de volta a um estado não construído. Quando você constrói para produção, junto com a mineração e combinação de seus arquivos JavaScript, você gera um mapa de origem que contém informações sobre seus arquivos originais. Quando você consulta uma determinada linha e número de coluna no seu JavaScript gerado, você pode fazer uma busca no mapa de origem que retorna a localização original. As ferramentas de desenvolvimento (atualmente WebKit nightly builds, Google Chrome ou Firefox 23+) podem analisar o mapa de origem automaticamente e fazê-lo aparecer como se você estivesse rodando arquivos não-instalados e não combinados. (Leia mais sobre isto aqui)

Comentários (6)

Como eu entendo o navegador, pelo menos o Chrome, ele não desabilita o mapeamento da fonte por padrão. Isso significa que os usuários da sua aplicação irão acionar esse pedido de mapeamento de origem por padrão.

Você pode remover o mapeamento de origem apagando o //@ sourceMappingURL=jquery.min.map do seu arquivo JavaScript.

Comentários (0)