用于angularjs的Yeoman发电机

时间:2012-12-07 21:42:20

标签: angularjs yeoman

我开始学习angularJS并发现yeoman非常有用。但有些人如何通过自耕农生成的控制器/服务/模型不利于稍后进行缩减。因为我通过生成的template(在这种情况下是服务)看到了我们必须隐式注入服务。

但如果我们想稍后缩小,建议使用$ inject显式注入。

所以我的问题是:我理解的是否正确?如果不是那么从yeoman注入生成的模板的正确方法是什么。

否则,如果我们想稍后进行缩小,我们现在不应该使用生成的模板,对吗?

由于

2 个答案:

答案 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 ,然后缩小它:)