运行grunt serve:dist时,AngularJS ui-view不显示任何内容

时间:2015-12-23 17:00:32

标签: javascript angularjs node.js gruntjs

我一直试图制作这段代码,我继承了几天的工作,但我仍然没有运气。不可否认,我仍然是Angular的初学者,但我想我已经做了我能做的事情。

我使用了Yeoman的角度发生器和咕噜声。 grunt serve工作正常但grunt serve:dist没有。起初它与某些部分模板有关,而这些部分模板没有包含在$templateCache中,但我已经修复了它。模板现在包含在最终的script.js中,chrome dev工具的网络选项卡不再报告404s。在应用程序的dist版本中调试ui-router给了我Unknown provider: aProvider <- a,这显然不是很有用。这真的变成了一个猜谜游戏。以下是代码段。我希望有人可以帮助我。任何建议都会很好。

的index.html

    <div id='main-container' ng-controller="AccountCtrl">
    <div id='logged-in-container' ng-if="isLoggedIn"><!-- container-fluid -->
        <div id='left-sidebar' class="col-lg-2 bg-dark-blue">
            <div id='left-sidebar-navigation' ng-controller="SidebarNavigationCtrl">
                <left-Sidebar-User-Profile></left-Sidebar-User-Profile>
                <left-Sidebar-Navigation></left-Sidebar-Navigation>
            </div>
        </div>
        <div id='main-container-body' class="col-lg-10"  ui-view >
        </div>
    </div>
    <div id='logged-off-container' ng-if="!isLoggedIn">
        <div class="col-lg-12"  ui-view >
        </div>
    </div>
    </div>

请注意指令left-Sidebar-User-Profileleft-Sidebar-Navigation有效。只有ui-view没有。

app.js

$stateProvider
  .state('login', {
    url:'/',
    templateUrl: 'views/login.html',
    controller: 'AccountCtrl',
    controllerAs: 'main',
    resolve: resolveLoggedIn
  });

我已经尝试将上面的代码更改为views: { 'login': { url: ... } }这样的格式,我认为这是正确的,但我有相同的行为,所以我还原了我的更改。

Gruntfile.js是here,因为它很长。

先谢谢你们。

1 个答案:

答案 0 :(得分:0)

这可能是因为你的角度代码没有准备就绪。要更好地了解相同情况,请参阅this

您应该考虑使用grunt-ng-annotate

之类的内容