我目前有一个针对我的应用程序的AngularJS前端。我已经使用ui-router在状态之间进行转换。
当我启用HTML5mode并刷新页面时,应用程序最终会提供文件结构,而不是刷新的页面。
请告诉我我做错了什么。
我在下面给出了一些我的代码片段:
这些是我的州定义:
.state('home', {
url: '/home',
views:{
'home':{
templateUrl: 'home/home.html',
controller : 'HomeCtrl',
controllerAs : 'homeCtrl'
}
},
access:{restricted: true}
})
.state('quote',{
url : '/quote',
views: {
'quote' : {
templateUrl : 'quote/quote.html',
controller : 'QuoteCtrl',
controllerAs : 'quoteCtrl'
}
},
access:{restricted: true}
})
.state('profile',{
url : '/profile',
views: {
'profile' : {
templateUrl : 'profile/userprofile.html',
controller : 'ProfileCtrl',
controllerAs : 'profileCtrl'
}
},
access:{restricted: true}
})
我app.js的片段,我启用了html5mode:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
来自我的index.html的摘录:
<base href="/"/>
我还附上了我在点击F5时看到的文件结构图片。
服务器背景:我在AWS服务器上运行我的网站并使用NGINX + npm。
此致 Galeej
答案 0 :(得分:0)
我通过使用express js编写server.js脚本解决了这个问题。
参考:Html5Mode - refreshing the angularjs page issue
请参阅有关快速重写的部分。
谢谢,
Galeej