2016-12-17 6 views
1

Ich folge einem Buch namens MEAN Machine. Der Code aus dem Teil in diesem Buch in Frage zu finden ist unter this Github Repo.Angular 1.3.8 Routing funktioniert nicht ohne Fehler

Beim Klicken auf die Links in , die weitergeleitet werden sollte, bekomme ich Datei nicht gefunden Fehler im Webbrowser.

Der Code (/public/js/app.routes.js), die nicht zu funktionieren scheint:

// inject ngRoute for all our routing needs 
angular.module('routerRoutes', ['ngRoute']) 

// configure our routes 
.config(function($routeProvider, $locationProvider) { 
    $routeProvider 

    // route for the home page 
    .when('/', { 
     templateUrl : 'views/pages/home.html', 
     controller : 'homeController', 
     controllerAs: 'home' 
    }) 

    // route for the about page 
    .when('/about', { 
     templateUrl : 'views/pages/about.html', 
     controller : 'aboutController', 
     controllerAs: 'about' 
    }) 

    // route for the contact page 
    .when('/contact', { 
     templateUrl : 'views/pages/contact.html', 
     controller : 'contactController', 
     controllerAs: 'contact' 
    }); 

    $locationProvider.html5Mode(true); 
}); 

In der Datei index.html, wir verweisen auf die korrekten Dateien:

<script src="js/app.routes.js"></script> 
<script src="js/app.js"></script> 

ihren Code zu testen, Ich habe das Basis-Tag in index.html in den Pfad meines Ordners geändert, wodurch Fehler beim Suchen der oben genannten Dateien behoben wurden.

Ist dieses Material datiert? Außerdem ist mir klar, dass in diesem Buch kein Angular 2 verwendet wird. Ändert sich Angular 2 drastisch im Routing und ist dieses Material veraltet?

+0

angular2 ist sehr sehr anders als angular1. – charlietfl

+0

Nur um klar zu sein ... Sie führen dies auf einem lokalen Host oder anderen Server und nicht mit 'file/open' im Browser? – charlietfl

+0

@charlietfl Eigentlich habe ich Datei/im Browser geöffnet. Das Buch, das ich nicht erwähnt habe, muss nichts anderes als den Backend-Server ausführen. – Biiiiiird

Antwort

0

Führen Sie einfach Befehl

node server.js 

von '12 -angular-Routing‘Verzeichnis und öffnet in Browser http://localhost:8080

Das Problem ist, dass Browser nicht standardmäßig AJAX-Anfragen auf Dateien die sich auf Ihrem erlauben Dateisystem. In diesem Fall sollten Sie Ihren lokalen Server ausführen, der die Client-Anwendung bedient (server.js ist ein einfacher Express-Server).