【问题标题】:requiring Angular with Browserify. 'Uncaught object' error需要 Angular 和 Browserify。 “未捕获的对象”错误
【发布时间】:2014-06-26 23:02:27
【问题描述】:

当我需要带有 Browserify 的 Angular 库时,我在 bundle.js 中收到“未捕获对象”错误。似乎 Browserify 的 Angular 库有问题?所有其他必需的文件都可以正常工作。有人可以帮我解决这个问题吗?

在我的 index.js 文件中,我执行此操作 'require('./angular');'它按预期工作并捆绑文件。下面是控制台错误的截图。

【问题讨论】:

  • angular 不是 CommonJS(或 AMD)。要使用 browserify 来 require 它,您必须对其进行填充。就我个人而言,我发现这个组合是这样一个 PITA,我只需正常加载 angular 并在 browserify 模块中使用全局变量。
  • 你能从其他文件(比如common.js)尝试requireing Angular,然后在你的角度模块文件中要求common.js吗?我不确定这是否是我的应用程序正常工作的原因,但很可能是这样。这是我的common 文件:github.com/prajwalkman/magrathea/blob/master/frontend/src/…

标签: javascript angularjs browserify


【解决方案1】:

在这种情况下,Browserify 不是您的问题。有一种误解,认为没有填充程序就不能在 Browserify 中使用库。其实你可以。我使用 Angular 和通过 Bower 获取的 Angular-Route 和 Browserify 都很好。

未捕获的对象是 AngularJS 错误。很可能是由于不正确的依赖加载。在 SO hereherehere 上多次提及 NgRoute

【讨论】:

  • 你是对的。这真是太不小心我了。 Browserify 与 Angular 配合得很好。问题是我错误地命名了我的主应用程序控制器。该消息不是描述性的,所以我认为这是一个 Browserify 问题。
  • 通用的“未捕获对象”错误消息有望很快消失。这是 Angular 从 1.2.x 开始在后台引入 ngMinErr(强大的错误消息实用程序)和进入 #stable 分支的 Chrome 错误的组合。最新版本的 Chrome Canary 中的修复将按预期显示错误消息。
猜你喜欢
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-31
  • 1970-01-01
  • 2015-06-01
  • 2016-02-17
  • 2018-06-06
相关资源
最近更新 更多