Ich habe gesucht und ich habe "Lösungen" zu diesem Problem gefunden, aber ich kann immer noch nicht richtig funktionieren.AngularJS: Relative Linkpfade sind kaputt, wenn html5mode (true) auf
Das Szenario:
Ich baue eine Angular (Version 1.2) Website mit dem UI-Router und es auf einem Node-Server auf localhost läuft. Ich versuche, mit dem $ locationProvider "hübsche" URLs zu bekommen und html5 (true) einzuschalten. Meine Website funktioniert einwandfrei, wenn Sie sie anklicken, aber wenn ich versuche, zu einem relativen Linkpfad zu navigieren oder den Linkpfad zu aktualisieren, wird die Seite unterbrochen. Ich beabsichtige auch diese Webapp Heroku bereitstellen, wenn beendet:
RELATIV LINK PFAD:
http://localhost:8000/locksmith-services
PAGE Ausgangsergebnis
Cannot GET /locksmith-services
Schritte I hab genommen:
1.) In meinem "index.html" < head>, ich habe meine Basis-URL auf:
<base href="/"></base>
2.) In meiner app.js-Datei (für Angular), habe ich es wie folgt geschrieben:
: In meiner Navigation// App Starts
angular
.module('app', [
'ui.router',
'ngAnimate',
'angular-carousel'
])
.config(['$urlRouterProvider', '$stateProvider', '$locationProvider', function($urlRouterProvider, $stateProvider, $locationProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('home', {
url: '/',
templateUrl: 'pages/home.html',
controller: 'homeCtrl'
})
.state('services', {
url: '/locksmith-services',
templateUrl: 'pages/locksmith-services.html',
controller: 'servicesCtrl'
})
.state('locations', {
url: '/locksmith-locations',
templateUrl: 'pages/locksmith-locations.html'
})
.state('payment', {
url: '/locksmith-payment',
templateUrl: 'pages/locksmith-payment.html'
})
// use the HTML5 History API
$locationProvider.html5Mode(true);
}])
3.), ich meine hTML geschrieben haben
4.) Meine server.js Datei (Node-Server)
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/front'));
var port = process.env.PORT || 8000;
app.listen(port);
Was wäre die beste Lösung sein? Vielen Dank im Voraus für Ihre Hilfe.
Vielen Dank für Ihre Hilfe! Das Umschreiben meiner server.js-Datei hat den Trick gemacht. – Oneezy