在 yeoman 应用程序中构建 grunt 后,模式不显示

Modals do not show up after grunt build in a yeoman app

我有一个用 yeoman/generator-angular with both mobile and desktop views. The mobile templates heavily rely on mobile-angular-ui 生成的 angular 项目,它工作得很好 在开发中

由于某些原因 modalsgrunt build 之后 没有显示。相反,调用模态窗口就像在页面顶部添加了一个透明组件(我的意思是,具有最高的 z-index),以与模态窗口相同的方式窃取焦点。因此,模态本身不显示,页面不响应任何点击事件(假设假模态锁定焦点)。

我的模式的内容是通过 ng-include 指令加载的,它似乎可以工作(从我在 Chrome 的网络工具中看到的)。没有错误消息抱怨控制台中缺少资源,我唯一能想到的是负责在 mobile-angular-ui 中切换模态可见性的代码在某种程度上受到了构建过程的影响。听起来可能吗?

知道是什么导致了开发和生产之间的这种行为差异吗?

我正在使用 mobile-angular-ui 1.2.0-beta.11。欢迎索取更多信息。

我不知道 mobile-angular-ui,但在 Angular ui-bootstrap 中,您不仅需要包含主要代码,还需要包含模板:

<script src="bower_components/angular-bootstrap/ui-bootstrap.min.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>

当您不包含 tpls 时,开发仍在进行,因为它能够从文件在 bower_components 中的位置加载文件。 在生产中,您会得到与使用模态时所描述的类似的结果,因为模板未捆绑在您的 dist 目录中。也许这是一个类似的问题?

宾果游戏。问题实际上来自 mobile-angular-uibootstrap 之间的冲突,因为我分别将它们用于移动和桌面视图。

由于我使用了非常有限的 bootstrap 子集,我决定删除所有 bootstrap 依赖项,只使用 mobile-angular-ui,它也为桌面视图提供了极简支持(即响应式布局的 col-md-xx 等)。