【问题标题】:Yeoman generator for angularjsangularjs 的 Yeoman 生成器
【发布时间】:2012-12-07 21:42:19
【问题描述】:

我开始学习 angularJS,发现 yeoman 非常有用。但是一些由 yeoman 生成的控制器/服务/模型不适合以后缩小。因为我通过生成的template(在这种情况下为服务)看到了什么,我们必须隐式注入服务。

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

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

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

谢谢

【问题讨论】:

    标签: angularjs yeoman


    【解决方案1】:

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

    testApp.factory('Thing', function(dep1, dep2) {
      return {/*...*/};
    });
    

    这在代码缩小的时候是有问题的,因为缩小的过程会缩短函数参数,而 Angular 会利用它们来推断要注入哪些依赖项。

    为了注入依赖,我推荐像这样的内联注解

    testApp.factory('Thing', ['dep1', 'dep2', function(dep1, dep2) {
      return {/*...*/};
    }]);
    

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


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

    【讨论】:

      【解决方案2】:

      您可以将 Yeoman Angular 生成器与 --minsafe 一起使用,例如:

      yo angular:controller user --minsafe
      

      在此处查看其他选项: https://npmjs.org/package/generator-angular

      编辑: 对此进行跟进。现在不需要使用 --minsafe 标志,因为 yeoman 带有 ngmin 应用程序,它会自动将所有适用的代码转换为 minifiable,然后将其缩小 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-05
        • 2014-01-14
        • 1970-01-01
        相关资源
        最近更新 更多