我开始学习angularJS并发现yeoman非常有用。但有些人如何通过自耕农生成的控制器/服务/模型不利于稍后进行缩减。因为我通过生成的template(在这种情况下是服务)看到了我们必须隐式注入服务。
但如果我们想稍后缩小,建议使用$ inject显式注入。
所以我的问题是:我理解的是否正确?如果不是那么从yeoman注入生成的模板的正确方法是什么。
否则,如果我们想稍后进行缩小,我们现在不应该使用生成的模板,对吗?
由于
答案 0 :(得分:5)
所以yeoman在生成服务时给你这样的东西
testApp.factory('Thing', function(dep1, dep2) {
return {/*...*/};
});
当代码缩小时,这是有问题的,因为缩小过程缩短了函数参数,而角度使用它们来推断要注入的依赖项。
要注入依赖项,我建议使用内嵌注释,如下所示
testApp.factory('Thing', ['dep1', 'dep2', function(dep1, dep2) {
return {/*...*/};
}]);
注意第二个参数是一个数组,它列出了正确的依赖项名称,并且它的最终项是一个注入这种依赖项的函数。
编辑:Yeoman的Angular生成器现在支持使用--minsafe
标记缩小JavaScript和CoffeeScript代码,如@Ramiro所示
答案 1 :(得分:3)
您可以将Yeoman Angular生成器与--minsafe一起使用,例如:
yo angular:controller user --minsafe
点击此处查看其他选项: https://npmjs.org/package/generator-angular
编辑: 跟进这个。现在没有必要使用--minsafe标志,因为yeoman附带了ngmin应用程序,它会自动将所有适用的代码转换为 minifiable ,然后缩小它:)