我开始学习 angularJS 并发现 yeoman 非常有用。但是 yeoman 生成的 Controller /服务/模型不利于以后缩小。因为由于我通过生成的template看到的(在本例中为服务)我们必须隐式注入(inject)服务。
但是如果我们想稍后缩小,建议使用 $inject 显式注入(inject)。
所以我的问题是:我理解的是否正确?如果不是,那么使用 yeoman 生成的模板注入(inject)的正确方法是什么。
否则,如果我们想稍后进行缩小,我们现在不应该使用 yeoman 生成的模板,对吗?
谢谢
最佳答案
所以 yeoman 在生成服务时会给你类似的东西
testApp.factory('Thing', function(dep1, dep2) {
return {/*...*/};
});
当代码被缩小时,这是有问题的,因为缩小的过程会缩短函数参数,而 Angular 使用它们来推断要注入(inject)哪些依赖项。
要注入(inject)依赖项,我建议使用内联注释,如下所示
testApp.factory('Thing', ['dep1', 'dep2', function(dep1, dep2) {
return {/*...*/};
}]);
请注意,第二个参数是一个数组,其中列出了正确的依赖项名称,其最后一项是将注入(inject)此类依赖项的函数。
<小时/>编辑:Yeoman 的 Angular 生成器现在支持使用 --minsafe
标志缩小 JavaScript 和 CoffeeScript 代码,如 @Ramiro 所示
关于angularjs - AngularJS 的 Yeoman 生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13771438/