我喜欢把每个控制器,过滤器......放在一个saparate文件中。问题是,我必须复制主html文件中的每个路径。自动化这个工作流程有什么好处?我找到了grunt-concat模块。但是这样吗?
另一个问题是,当我在saparate文件中有不同的模块时,如:
function TestCtrl ($scope) {
//...
}
angular
.module('app')
.controller('TestCtrl', TestCtrl)
我必须将它们添加到我的app.js中:
var app = angular.module('app', ['add here?']);
非常感谢! 罗伯特
答案 0 :(得分:2)
Grunt concat是连接文件的好方法。
回答你的另一个问题:代码是:
var app = angular.module('loop', ['app'])
但可能你应该重命名变量' app'为了避免与依赖关系混淆,请循环使用#。
编辑:在评论中添加了对您问题的补充答案:
是的,它也适用于[]。您通过angular.module(' name',[])定义了一个模块,如果您的模块依赖它们,则该数组包含依赖项。如果没有,则需要提供空数组。使用两个参数调用angular.module称为setter api以创建模块。在没有数组的情况下使用angular.module(' name')时,您将获得对已创建模块的引用。这对于定义服务,控制器等非常有用,如下所示:
angular.module('appname').controller('controllername'[function(){....}])
正如上一篇评论,你可以链接angular.module api的getter和setter,并完全摆脱(全局)变量app。如:
angular.module('appname',[])
.controller('controllername'[function(){....}])
.factory('factoryname', [function(){}])
答案 1 :(得分:0)
Concat和LazyLoad是两个不同的概念,对吗?或者我可以一起使用它们吗?requirejs和lazyload之间的区别是什么?