我有一个简单的AngularJS应用程序,其中没有与nodeJS相关的代码。从网址中删除#时我遇到了问题。我用ui-routes进行路由。
'use strict';
var app = angular.module('myapp', ['ui-router']).
config(['$stateProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$stateProvider.
state('home', {
url: '/',
templateUrl: 'views/index.html'
})
.state('where-am-i', {
url: '/where-am-i',
templateUrl: 'views/where_am_i.html',
controller: 'mainCtrl'
})
.state('audience', {
url: '/audience',
templateUrl: 'views/audience.html',
controller: 'mainCtrl'
});
}]);
还在我的index.html的head部分添加了基本标记。
<base href='/' />
还尝试过不需要基础,但仍然无法使其正常工作。
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
为index.html文件中包含的所有资产添加基本标记显示404。
需要一个快速而简单的解决方案。
提前谢谢!
答案 0 :(得分:0)
在$locationProvider.html5Mode(true);
之后添加一行,如下所示:
$locationProvider.hashPrefix('');
希望它能起作用。