【问题标题】:Building angular app with grunt, app fails to load用咕噜声构建角度应用程序,应用程序无法加载
【发布时间】:2014-01-06 13:16:55
【问题描述】:

我已经用 yeomon (yo angular) 生成了一个 angular 项目。我做了一些编码并测试了我是否可以正确构建项目(使用 grunt)。结果出现在 dist 文件夹中,并且运行良好。现在我编写了更多代码(大约 1000 行),我再次构建了该项目。这次浏览器什么也没显示。控制台没有错误。 Index.html 是正确的,并且缩小的 js 文件似乎也可以。

我在 Gruntfile.js 中添加了一个代理,否则我认为我没有用它做任何事情。

知道这可能是什么原因吗?如何最有效地调试它?我能想到的唯一方法是停用所有内容,然后激活模块,构建项目,再激活一个等等。需要很多时间。

更新 我已经缩小了范围。我有几个决心。如果我删除它们,则视图会加载。我正在使用ui路由器。这对解决问题有更多帮助吗?

.state('app', {
        url: '/app',
        resolve: {
          //medias: ['MultiProductsLoader', function(ProductsLoader) {
          //  return new ProductsLoader();
          //}]
        },
        views: {
          'inputView': {
            templateUrl: 'views/input.html',
            controller: 'AppCtrl'
          }
        }

更新2 我的问题有点不清楚。当项目处于“开发模式”时,该应用程序运行良好,未缩小。但是当我构建/缩小项目时,该应用程序无法加载而没有任何错误消息。请在下面回答解决方案。

【问题讨论】:

  • 你在使用 Chrome 开发工具吗?
  • @coma 是的,什么都不显示
  • 如果 Chrome 控制台没有错误,可能你只是禁用了 javascript...
  • 这个视图存在于ui-view中?喜欢 ui-view="inputView"?
  • @Deividi Cavarzan 是的。

标签: angularjs gruntjs yeoman


【解决方案1】:

解决了!

我将此添加到 Gruntfile.js 中的 uglify 选项中

  options: {
    report: 'min',
    mangle: false
  }

如果我找到答案,您可以在这里阅读更多相关信息:Angular.module minification bug

【讨论】:

  • 好的!这也对我有用,但也许你可以提供一些关于你的解决方案的摘要解释。您建议的链接包含许多解决方案。为什么会这样?
【解决方案2】:

如果一个解析不能被 ui-router 解析,那么状态中定义的视图将不会被渲染,从而导致一个空白页面(或页面的空白部分,取决于状态)。

当我遇到这样的问题时,我会禁用状态层次结构中的所有解析(通过将它们注释掉)并一一重新启用它们以查看导致问题的原因,然后在解析回调中添加一些日志以查看发生了什么事。

Ui-router 很棒,但它仍在开发中,这是一个欢迎更多调试信息的领域。

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2015-05-25
    • 2017-05-17
    • 1970-01-01
    • 2018-11-29
    • 2018-04-18
    相关资源
    最近更新 更多