2016-10-10 15 views
0

我可以使用這些設置重新加載第一級路線,但不能使用第二級路線。例如下面定義的'遊戲'路線不能重新加載,但登錄路線可以。無法在Express中重新加載二級路線(運行Angular應用程序)

我已經index.html中添加<base href="/">

角router.js(使用角-UI-路由器):

$stateProvider 
    .state('root', { 
     url: '/', 
     templateUrl: templateUrlRoot + 'root.html', 
     controller: 'gameListController', 
     title: 'ManRPG' 
    }) 
    .state('game', { 
     url: '/game/:gameId', 
     templateUrl: templateUrlRoot + 'game.html', 
     controller: 'gameController', 
     title: 'Game' 
    }) 
    .state('login', { 
     url: '/login', 
     templateUrl: templateUrlRoot + 'login.html', 
     controller: 'loginCtrl', 
     title: 'Login' 
    }) 

快報:

var express = require('express'); 
var app = express(); 
var router = express.Router(); 
var bodyParser = require('body-parser'); 

// ... other routes, etcetera 

app.use('/api', router); 

// Send the angular app, make sure that index.html is served first 
app.use('/', express.static(__dirname + '/app')); 
app.get('/*', function (req, res) { 
    res.sendFile(__dirname+'/app/index.html'); 
}) 

任何幫助/建議是高度讚賞。

回答

0

發生此行爲是因爲我的一些文件被包含在未啓動的「/」中。所以我所做的是改變:

<script src="js/lib/angular/angular.js"></script> 
<script src="js/lib/angular-ui-router/release/angular-ui-router.js"></script> 

要:

<script src="/js/lib/angular/angular.js"></script> 
<script src="/js/lib/angular-ui-router/release/angular-ui-router.js"></script> 

這解決了我的問題。

相關問題