我刷新时,AngularJS应用程序显示文件结构

时间:2017-03-10 10:27:09

标签: angularjs html5 angular-ui-router

我目前有一个针对我的应用程序的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

Error I get when i hit refresh from my home screen

1 个答案:

答案 0 :(得分:0)

我通过使用express js编写server.js脚本解决了这个问题。

参考:Html5Mode - refreshing the angularjs page issue

https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

请参阅有关快速重写的部分。

谢谢,

Galeej