用于angularjs的Yeoman发电机

nXq*_*Xqd 2 angularjs yeoman

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

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

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

否则,如果我们想稍后缩小,我们不应该使用自生的生成模板,对吧?

谢谢

jai*_*ime 5

所以yeoman在生成服务时会给你这样的东西

testApp.factory('Thing', function(dep1, dep2) {
  return {/*...*/};
});
Run Code Online (Sandbox Code Playgroud)

当代码缩小时,这是有问题的,因为缩小过程缩短了函数参数,而角度使用它们来推断要注入的依赖项.

要注入依赖项,我建议使用内联注释,如下所示

testApp.factory('Thing', ['dep1', 'dep2', function(dep1, dep2) {
  return {/*...*/};
}]);
Run Code Online (Sandbox Code Playgroud)

请注意,第二个参数是一个列出正确依赖项名称的数组,并且其最终项是一个将注入此类依赖项的函数.


编辑:Yeoman的Angular生成器现在支持缩小JavaScript和CoffeeScript代码,并使用--minsafe@Ramiro所示的标志