Alguém pode me explicar por que existem 2 inclusões de jQuery no kit EmberJS Starter

StackOverflow https://stackoverflow.com/questions/9522695

  •  15-11-2019
  •  | 
  •  

Pergunta

Acabei de olhar o index.html que vem com o kit inicial EmberJS que você obtém clicando em "Baixar Kit Inicial" em http://emberjs.com/

Há uma parte estranha do código no final da tag body (carregando scripts no último momento):

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.6.1.min.js"%3E%3C/script%3E'))</script>
<script src="js/libs/ember-0.9.5.min.js"></script>
<script src="js/app.js"></script>

Ok, entendi os dois últimos, carregue a biblioteca ember e execute o aplicativo ember.Eu também entendo o primeiro, pegue o jQuery do CDN do Google, mas não entendo por que você teria a segunda tag de script!Isso é apenas para que você não dependa do CDN do Google e envie sua própria cópia do jQuery?

Alguém pode me dizer se essa é a melhor prática ou se devo registrar um bug no EmberJS para que eles removam isso do kit inicial.

Obrigado

Foi útil?

Solução

Acho que o autor está pensando que, caso o jquery não consiga carregar a partir do googleapis, por segurança, inclua uma versão local.Observe o

!window.jQuery

Outras dicas

Se o jQuery for carregado a partir da primeira tag de script, então window.jQuery avaliaria como verdadeiro.Por isso, !window.jQuery seria avaliado como falso e a expressão na segunda linha entraria em curto-circuito.No entanto, se o jQuery não carregou desde a primeira linha, então !window.jQuery será verdadeiro e o documento gravará a tag de script para uma versão hospedada de forma privada.Isso permite que o cliente carregue o jQuery das APIs do Google, o que provavelmente será mais rápido, mas oferece uma alternativa caso o carregamento falhe.

Você pode querer ler tipo coerção em JavaScript.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top