Angular a-t-il besoin d'un serveur Web pour fonctionner? Donc Angular fonctionnerait-il si je donnais au navigateur une URL d'un fichier local?
Par cela, je veux dire que j'ai lu, Angulaire permet de se moquer de données afin que les RESTFul api n'a pas besoin d'être branché. Je pense à un cas d'utilisation où un UX designer, il suffit de regarder la cosmétique et de la nécessité de ne pas raccorder à un serveur web. Je peux penser à d'autres cas d'utilisation.
Serait Angulaire de travail est je donne navigateur une url d'un fichier local comme C:\temp\index.html et les fichiers js sont soit à c:\temp ou dire c:\temp\js.
Donc en fait, je l'ai essayé, ici tout est dans un fichier d'application (je sais il doit être séparé)
<html ng-app="myNoteApp">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-controller="myNoteCtrl">
<h2>My Note</h2>
<p><textarea ng-model="message" cols="40" rows="10"></textarea></p>
<p>
<button ng-click="save()">Save</button>
<button ng-click="clear()">Clear</button>
</p>
<p>Number of characters left: <span ng-bind="left()"></span></p>
</div>
<script >
//was in separate file but pasted in for demo purposes
var app = angular.module("myNoteApp", []);
</script>
<script >
//was in separate file but pasted in for demo purposes
app.controller("myNoteCtrl", function($scope) {
$scope.message = "";
$scope.left = function() {return 100 - $scope.message.length;};
$scope.clear = function() {$scope.message = "";};
$scope.save = function() {alert("Note Saved:" + $scope.message);};
});
</script>
</body>
</html>
Les résultats sont, il fonctionne dans Chrome et Firefox pas de problèmes, c'est à dire des blocs de contenu au départ, mais on peut permettre de l'exécuter.
Merci pour les réponses. Je vais sans doute supprimer cette question parce que les gens ont downvoted. En fait je pense que c'est utile de trouver mais bon la communauté qui connaît le mieux.
source d'informationauteur S Meaden
Vous devez vous connecter pour publier un commentaire.
Donc, la façon dont je l'ai fait c'est de créer un service temporaire et il suffit de charger qu'au lieu de partir d'une url ou un fichier.
Exemple:
De cette façon, le contrôleur peut encore travailler comme si vous étiez chargement à partir d'un service web.
Vous ne pouvez pas simplement l'accès angulaire de l'application par le chemin du fichier sur l'ordinateur local parce que vous obtiendrez origine de la croix-des erreurs de domaine.
La solution est d'installer serveur http (ce qui nécessite node.js pour être installé). Cela vous permet de créer un serveur http local sur votre machine et vous permettront d'accéder à l'angle de l'application comme si elle était hébergée en ligne pour le développement et de test.
Oui, vous pouvez exécuter un fichier local, mais si vous avez besoin de données à partir d'un serveur, le navigateur devrait le bloquer, en fonction de la version et le type de navigateur que vous utilisez.
Ici est la langue officielle de Tutoriel Angularjs explication en vertu de la PhoneCat Tutoriel App: Exécution du Serveur Web de Développement
Si vous avez besoin de juste l'affichage des données à l'aide d'une expression comme
{{mymessage}}
à l'intérieur d'un div, vous n'avez pas besoin d'un serveur web.Mais si vous avez besoin de charger
template
fichiers html uingngview
vous avez besoin d'un serveur web - sinon, il va se plaindre avec d'erreur suivant.Si laoding modèles est nécessaire pour l'apprentissage de la angularjs routage, j'ai trouvé un
web server
exe
facile à utiliser - HFS. Jusqu'à présent, il répond à mes besoins pour l'apprentissage AngularJS.Références
Mise à jour: Ma suggestion ci-dessous ont assez bien fonctionné pour AngularJS, mais juste pour info, est insuffisant pour Angulaire 2.
Comme d'autres l'ont dit, il est préférable de servir correctement comme http. Cependant, il existe d'autres solutions de contournement.
Certains éditeurs, comme Crochets (cliquez sur l'éclair dans le coin en haut à droite, le tout dans un fichier), peut servir le code de votre navigateur correctement. Pour d'autres, il pourrait y avoir des plugins qui font ça.
De plus, si vous êtes sur Chrome, vous pouvez exécuter avec les paramètresce qui signifie que vous ajouter des choses à la derrière les .exe une partie du chemin sur une coupe courte; des options si vous voulez. Plus précisément vous voulez:
Que fait-il pas de générer des erreurs lorsque vous essayez d'accéder aux fichiers à partir de diverses origines. Il y avait un plugin pour cette fois, mais je ne pouvais pas le faire fonctionner. Remarque il y a la sécurité reaosns pourquoi ce n'est pas la valeur par défaut, alors peut-être ne le mettez pas sur votre raccourci que vous utilisez tout le temps pour le surf... - Utilisez à votre propre risque.