簡體   English   中英

AngularJS ui-router html5模式中斷路由

[英]AngularJS ui-router html5 mode breaks routing

我有一個使用標准#EX正確路由的WebApp 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'));
});

退后一步,並從邏輯上看了一下之后,我發現了我的簡單錯誤……$ locationProvider需要像下面這樣傳遞:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM