2016-12-09 1 views
1

Projekt funktioniert gut lokal. Nach der Bereitstellung auf einer AWS Ubuntu-Instanz scheint das Routing jedoch nicht zu funktionieren. Die Homepage von, www.levisengelart.com/#/ lädt mit einem Knall als, www.levisengelart.com/#!/ und wenn Sie einen Link versuchen, versucht der Browser zu laden www.lewisengelart.com/# !/#% 2Fabout anstatt www.levisengelart.com/#/about.AngularJS Angular-Route auf Ubuntu ändernden Routen/#/->/#!/Links funktioniert nicht

Noch einmal, dieses Projekt funktioniert gut lokal, ich kann nicht herausfinden, was es auf der Ubuntu-Instanz auslöst.

Hat jemand dieses Problem schon einmal erlebt?

Hier ist app.js, die Route Config

var app = angular.module("App", ['ngRoute', 'ngAnimate']); 

app.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider){ 
$httpProvider.interceptors.push(
    function($q, $location) { 
    return { 
     'responseError':function(rejection){ 
     if (rejection.status == 401){ 
      $location.url('/letmein'); 
     } 
     return $q.reject(rejection); 
    } 
    }; 
}); 
$routeProvider 
    .when('/',{ 
     templateUrl: 'partials/dashboard.html' 
    }) 
    .when('/text',{ 
     templateUrl: 'partials/text.html', 
     controller: 'textCtrl' 
    }) 
    .when('/magnet',{ 
     templateUrl: 'partials/magnet.html', 
     // controller: 'magnetCtrl' 
    }) 
    .when('/gauge',{ 
     templateUrl: 'partials/gauge.html', 
     // controller: 'gaugeCtrl' 
    }) 
    .when('/animation',{ 
     templateUrl: 'partials/animation.html', 
     controller: 'animationCtrl as ACtrl' 
    }) 
    .when('/about',{ 
     templateUrl: 'partials/about.html', 
    }) 
    .when('/contact',{ 
     templateUrl: 'partials/Contact.html', 
    }) 


    .when('/letmein',{ 
     templateUrl: 'partials/loginReg.html', 
     controller: 'adminCtrl' 
    }) 
    .when('/add',{ 
     templateUrl: 'partials/add.html', 
     controller: 'workCtrl' 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 

}]) 

Und die Homepage teilweise mit Links

<div class="indexHeader col-md-3"> 
<a href="/#/"><h1>Lewis Engel</h1></a> 

<div class="worksBox"> 
    <a ng-href="/#/about"><span class="colorFive">About</span></a> 
    <a href="/#/contact"><span class="colorSix">Contact</span></a> 

    <a href="/#/text"><span class="colorOne">Emergent Possibilities</span></a> 
    <a href="/#/animation"><span class="colorTwo">Emergence over Time</span></a> 
    <a href="/#/magnet"><span class="colorThree">Magnetic Attractions</span></a> 
    <a href="/#/gauge"><span class="colorFour">Meaningless Measures</span></a> 
</div> 

+0

ahhh, ich habe herausgefunden, dass es etwas mit der Version von eckigen, eckigen und eckigen ist. Die lokale Version läuft immer noch eckig 1.5.8. Während die bereitgestellte Version die neuere Version 1.6.0 erhielt. –

+0

Problem gelöst, nur für den Fall, dass jemand anderes darauf herumfummelt. Pro eckige Dokumentation. https://docs.angularjs.org/guide/migration#commit-aa077e8. Müssen $ locationProvider und $ locationProvider.hashPrefix ('') hinzufügen; - Um ein neues Protokoll in der aktualisierten Version von Angular zu überschreiben. –

Antwort

1

Per Winkel Dokumentation.

docs.angularjs.org/guide/migration#commit-aa077e8.

Haben

$locationProvider 

und

appModule.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 

außer Kraft zu setzen, ein neues Protokoll in der aktualisierten Version von Angular hinzuzufügen.

Verwandte Themen