我可以使用这些设置重新加载第一级路由,但不能重新加载第二级路由。游戏'例如,下面定义的路由不能重新加载,但登录路由可以。
我在index.html中添加了<base href="/">
。
Angular router.js(使用angular-ui-router):
$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 :(得分: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>
这解决了我的问题。