我正在开发一个AngularJS应用程序。我需要创建一个可以包含在其他项目中的模块。该模块具有分布在多个文件中的服务和指令。
从plunker,你可以看到我试图像这样加载模块:
var app = angular.module('app', ['my.module']);
但是,我收到一条错误消息:
Module 'my.module' is not available! You either misspelled the module name or forgot
但是,我相信我正确引用它。这让我觉得我没有正确捆绑模块的各个部分。我的指令服务工作正常,直到我尝试将它们放入模块中。现在,它不起作用,我不知道如何让它工作。我很感激能得到的任何帮助。
答案 0 :(得分:1)
我认为你在这里有一些困惑。您正在多次创建模块,并且您将变量名称(" app")与模块名称(" my.module")混合在一起。此外,plunker代码与您发布的代码不匹配。
无论如何,我认为这应该清理它(plunker):
var app = angular.module('my.module', []);
app.controller('AppController', ['$scope', function($scope) {
$scope.test = '';
}]);
app.service('myService', ['$timeout', '$q', function($timeout, $q) {
//[etc.
]});
app.directive('myDirective', [function() {
//etc.
}]);
修改强>
好的,我误解了你的代码。
看起来plunkr从下到上加载脚本(?),所以我在myService.js中声明了模块变量,并在myDirective.js中引用它。