Adicionando Angularjs via CDN + fallback

Olá pessoal.

Inicialmente vou falar do assunto CDN ou Content Delivery Network (caso não saiba do que estou falando leia a definição do Wikipedia sobre CDN). As vantagens de inserir um arquivo em seu site via CDN são diversas como Cache de arquivos, diminui a latência da requisição e o arquivo pode ser carregado paralelamente com os demais conteúdos do site, o que melhora a performance.

Porém um dos pontos que podem impactar na utilização de arquivos via CDN são as dependências diretas de servidores externos. Caso os servidores por qualquer motivo pararem de disponibilizar o arquivo (podem estar off por “N” motivos) sua aplicação estaria comprometida. Para isso existem os chamados fallbacks, que nada mais é do que, neste caso, uma verificação de carregamento do arquivo, caso contrário insere o arquivo local . Utilizando o angularjs não seria diferente também. Existe uma maneira simples de verificarmos se o arquivo foi carregado corretamente, caso contrário inserimos o arquivo localmente e para o usuário final a utilização fica transparente. Duvida?

<!-- Angular JS off CDN, otherwise fallback. -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
 <script>
    window.angular || document.write('<script src="scripts/vendor/angular-1.0.7.min.js"><\/script>');
 </script>

Bastante simples, não acham? Da mesma forma você pode fazer um fallback para o jquery e outros arquivos, bibliotecas, etc.

Até mais!