我有一个使用标准正确路由的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'));
});
答案 0 :(得分:0)
退后一步,从逻辑上看这个,我发现了我的简单错误...... $ locationProvider需要传递如下:
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) {
// code
}