AngularJS ui-router html5模式中断路由

时间:2015-04-09 07:11:52

标签: javascript angularjs

我有一个使用标准正确路由的WebApp# EX)http://localhost:8080/#/about.html

$ locationProvider.html5Mode(true); 添加到我的角色' app.js'文件它打破了应用程序(视图没有显示,链接不可点击)...我已经通过几个教程/示例,但无法弄清问题在哪里。任何帮助将不胜感激。

APP.JS

var routerApp = angular.module('routerApp', ['ui.router']);

.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {

    $locationProvider.html5Mode(true);
    $urlRouterProvider.otherwise('/');

    $stateProvider

    .state('home', {
        url: '/',
        templateUrl: '/home-partial.html'
    })
    .state('about', {
        url: '/about',
        templateUrl: 'about.html'
    });

}]);

INDEX.HTML

<html>
<head>
<base href="/">

<link href="/assets/css/bootstrap.min.css" rel="stylesheet">

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.13/angular-ui-router.js"></script>
<script src="app.js"></script>
</head>

<body ng-app="routerApp">

<nav>
<ul class="nav masthead-nav">
<li><a ui-sref="home">Home</a></li>
<li><a ui-sref="about">About</a></li>
</ul>
</nav>

<div class="inner cover">             
<div ui-view></div>
</div>
</body>
</html>

SERVER.JS

// Call main packages
//===============================================
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var morgan = require('morgan');
var bodyParser = require('body-parser')
var path = require('path');



// APP GLOBAL CONFIG
//===============================================

/* connect to the database */
mongoose.connect('mongodb://127.0.0.1:27017:/DB');

/* set location for static files */
app.use(express.static(__dirname + '/public'));

/* log all HTTP requests to console */
app.use(morgan('dev'));

/* set listen port for conn(s) */
app.listen(6070);

// catch all route
app.get('*', function (req, res) {
res.sendFile(path.join(__dirname + '/public/index.html'));
});

1 个答案:

答案 0 :(得分:0)

退后一步,从逻辑上看这个,我发现了我的简单错误...... $ locationProvider需要传递如下:

.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
        // code
}
相关问题