【发布时间】:2014-06-28 12:10:11
【问题描述】:
我目前正在试验 Browserify + Angular,我偶然发现了一个奇怪的问题。我在一个名为 controllers/start-controller.js 的控制器的子目录中创建了一个文件。`
在我的 app.js 文件中,我有一个引用控制器的局部变量:
var controllers = require('./controllers/');
controllers/ 内是一个 index.js 文件,它引用了启动控制器:
require('./start-controller');
然后回到我的 app.js,调用控制器,我有以下内容:
app.controller('StartController', ['$scope', controllers.StartController]);
问题:
在当前设置下,无法识别 StartController,Angular 会抛出 this error。但是,如果我将局部变量更改为直接包含 start-controller:
var controllers = require('./controllers/start-controller');
然后这很好用,但这并不是我真正想要的。我希望能够在 controllers/index.js 中引用控制器。 app.controller 在对 StartController 的调用中是否缺少某些内容,这就是它无法识别的原因?
【问题讨论】:
-
“无法识别 StartController”是否意味着
controllers.StartController未定义?你能创建一个小例子吗?我无法重现我这边的任何问题。 -
我相信@RickvanMook 的答案是正确的解决方案,但发布
index.js会更有帮助。
标签: javascript angularjs browserify