Angular模块仅适用于内联javascript

Angular模块仅适用于内联javascript,javascript,angularjs,html,angularjs-scope,Javascript,Angularjs,Html,Angularjs Scope,我正在学习Angular,并且只有当所有代码都在页面上内联时,才能在模块中添加控制器。如果我用替换它,它将失败 错误:[$injector:unpr] $injector/unpr?p0=A供应商%20%3C-%20a%20%3C-%20personController 正如评论中提到的那样,错误消息看起来像是试图为依赖项a找到提供程序,这可能是缩小的结果 如果您喜欢: angular.module(..).controller("SomeCtrl", function($scope){});

我正在学习Angular,并且只有当所有代码都在页面上内联时,才能在模块中添加控制器。如果我用替换它,它将失败

错误:[$injector:unpr] $injector/unpr?p0=A供应商%20%3C-%20a%20%3C-%20personController


正如评论中提到的那样,错误消息看起来像是试图为依赖项a找到提供程序,这可能是缩小的结果

如果您喜欢:

angular.module(..).controller("SomeCtrl", function($scope){});
它可能会将$scope缩小为一个。因此,您应该使用:

angular.module(..).controller("SomeCtrl", ["$scope", function($scope){}]);

因为字符串不会缩小,Angular将知道哪个依赖项是哪个。另一种方法当然是使用$injector,Claies也提到了这一点。

您是否在缩小源代码?您似乎没有使用$inject,也没有使用依赖项数组。您需要某种方法来注入依赖项,否则它们将在缩小时中断。您是否正在myModuleFile.js中初始化模块,因为您使用的是var app=angular.module'app',[]?顺便问一下,您是否向我们提供了完整的错误消息?@claies在任何教程中都没有指出控制器具有依赖项。angularJS文档的许多教程在外部文件中出现类似错误时都不起作用。@rebornix javascript的第一个代码块就是该文件中的代码块。我漏了一步吗?是的,这是完整的信息。这成功了。我在咕哝着用丑陋来缩小自己。我还没有到喷油器的部分,一旦我学会了,我可能会用到它。谢谢你的回答。没问题,你也可以看看名为Nganotate的Grunt插件,它可以自动为你做这件事。
angular.module(..).controller("SomeCtrl", function($scope){});
angular.module(..).controller("SomeCtrl", ["$scope", function($scope){}]);