Votre développement AngularJS avance bien, vous venez de créer une directive qui se base sur un template se trouvant dans son propre fichier HTML. Mais au moment de tester dans Chrome, c'est le drame :
XMLHttpRequest cannot load file:///C:/Users/sam/Desktop/musicians/templates/musician.html. Cross origin requests are only supported for HTTP.
Un bon "bordel de merde" au bord des lèvres, vous vous souvenez avoir déjà rencontré ce problème uniquement sous Chrome. Sous Firefox, aucun problème. Comment faire pour continuer votre développement sous Chrome ?
Tout simplement en excécutant votre code dans un serveur web afin de ne pas accéder à votre fichier (dans notre cas musician.html) depuis un chemin de fichier (C:/Users. ...) mais bien en tant que fichier provenant du même site (d'où le "cross origin request" dans le message d'erreur).
Plutôt que d'installer et lancer un WAMP par exemple, autant avoir recours à Python. D'abord parce que Python est un langage qui a le vent en poupe. Ensuite, si vous avez un Respberry Pi (en 2014, un développeur MEAN est forcément un peu geek), vous avez probablement déjà Python sur votre machine (tapez donc "python --version" dans votre console pour voir) . Mais surtout, car Python vous permettra de lancer un serveur web depuis la console et de contourner votre problème de Cross origin request.
La marche à suivre est simple. Dans le cas d'une machine sous Windows 8.1 :
lancez une console (Windows + X / Command Prompt)
allez racine de votre site AngularJS
lancez votre serveur web à l'aide de
python -m http.server 8888
Il vous suffira alors de retourner dans chrome et de pointer vers "http://localhost:8888/"
Bien évidemment, on aurait pu créer un projet MEAN via yeoman et un générateur angular ou webapp puis faire un grunt serve, mais parfois, on a juste envie de créer une pauvre petite page HTML dans Sublime Text simplement pour tester une idée rapidement avec angular. En plus, ça montre qu'un développeur JavaScript n'est pas sectaire.