我想根據html5mode(true)
中的角度路由來路由我的應用程序。這是我的角碼代碼片段。如何優先使用角度路由而不是節點路由,同時在角度中使用html5Mode(true)JS
的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>MyApp</title>
<base href="/">
<!-- Import Angular -->
<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
<!-- Import Angular Route -->
<script type="text/javascript" src="bower_components/angular-route/angular-route.min.js"></script>
<!-- Import Local JS Files -->
<script type="text/javascript" src="app/app.routes.js"></script>
<script type="text/javascript" src="app/userController.js"></script>
<script type="text/javascript" src="app/app.js"></script>
</head>
<body>
<ng-view ng-app="myApp"></ng-view>
</body>
</html>
app.js
var app = angular.module('myApp', ['appRoute'])
app.routes.js
angular.module('appRoute', ['ngRoute', 'userController'])
.config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode({
enabled: true
});
$routeProvider
.when('/user', {
templateUrl: 'app/user.html',
controller: 'UserController',
controllerAs: 'user'
}).otherwise({
redirectTo: '/user'
});
});
個userController.js
angular.module('userController', [])
.controller('UserController', function() {
});
但是,當我打的網址,即在瀏覽器中http://0.0.0.0:3000,它的URL重定向到http://0.0.0.0:3000/user這是正確的,但是當我嘗試重新加載它告訴我Cannot GET /user
我的猜測是從響應節點服務器。如何配置我的應用程序,以便瀏覽器使用http://0.0.0.0:3000或http://0.0.0.0:3000/user。
更新:NodeJS服務器代碼。
// grab all we need
var path = require('path');
var express = require('express');
var app = express();
// setup public folder
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', __dirname + 'public');
// set up the server
var server = app.listen(3000, 'localhost', function() {
console.log('Server connected at ' + this.address().address + ':' + this.address().port);
});
// export exposed variable
module.exports = app;
使用localhost代替 – Aravind
與本地主機 – Rusty
更新的答案相同的結果,包括你的代碼的NodeJS。你在使用Express框架嗎? – gdyrrahitis