Angular Js HTML5模式不起作用

时间:2015-02-28 22:20:39

标签: angularjs

我正在尝试将HTML5模式添加到我的角应用中以删除"#"符号。 问题是它不起作用。我的整个视图都不会显示!这是我的代码:

var app = angular.module('app', [
    'ngRoute',
    ...    ]);
app.config(['$routeProvider, $locationProvider',
function($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider.
        when('/', {
            templateUrl: 'partials/main.html'
        }).
        when('/raw-communication', {
            templateUrl: 'partials/raw-communication.html',
            controller: 'RawCommunicationCtrl'
        }).
        otherwise({
            redirectTo: "/404"
        });
}
]);

我使用的网址是localhost:8080。值得一提的是,当我删除html5Mode的代码时,一切正常。

当我的意思是它不起作用时,我的意思是没有任何东西出现在整个ng-view指令上。例如,如果我有这个:

<!doctype html>
<html lang="en" ng-app="app">
<head>
    <base href="/"/>
    <meta charset="UTF-8">
    <title>Stock App</title>
    <script src="bower_components/angular/angular.min.js"></script>
    <script src="bower_components/angular-route/angular-route.min.js"></script>
    <script src="js/app.js"></script>
    ...
</head>
<body>
<h1>Stock App</h1>
<div ng-view></div>

</body>
</html>

仅显示h1标签。要显示的内容部分来自&#34; partials / main.html&#34;。

访问localhost:8080时URL未更改,但访问localhost时发生404错误:8080 / raw-trades。

我在控制台中出现以下错误:

  

未捕捉错误:[$ injector:modulerr] http://errors.angularjs.org/1.3.13/ $ injector / modulerr?p0 = app&amp; p1 =错误%3A%20 ... Flocalhost%3A8080%2Fbower_components%2Fangular%2Fangular.min.js%3A38% 3A135)

我的网络标签中没有发生其他404错误。

更新3:

这不重复,因为主页应该仍然有效。

更新:full error link

更新

我已经缩小了我的问题;以下作品:

app.config(['$routeProvider',
    function($routeProvider) {
       ...
    }
]);

但这不是:

app.config(['$routeProvider, $locationProvider',
    function($routeProvider, $locationProvider) {
       ...
    }
]);

无论我是否实际使用$locationProvider

NEW UPDATE

这意味着

app.config(['$routeProvider', '$locationProvider',

不是

app.config(['$routeProvider, $locationProvider',

浪费了一个小时!

0 个答案:

没有答案