我正在编写一个版本的generator-angular,其中包含额外选项以支持lifecript中的源代码,而bootstrap则支持less,font-awesome等。正在进行的工作是https://github.com/gmp26/generator-angular-ls
我挂了一个微不足道的愿望。我想要最初的'Halo'Halo安装列表来反映为响应yeoman问题而安装的选项,而不是一个常见的公分母列表。
作为第一次尝试 - 我在templates / * / spec / controller。(ls | js | coffee)中尝试了lodash模板来调整在这些文件中定义的$ scope.awesomeThings列表。这失败是因为我的可选标志由prompt(this.bootstrap,this.lessBootstrap,this.fontAwesome)定义,类似于generator-angular的this.bootstrap和this.compassBootstrap在'this'上下文中不可用,其中模板是调用。两个'this'上下文都是Generators,但我相信提示'this'上下文是生成器angular:app,而模板是在angular:controller中调用的。
那么,有什么想法如何从app / index.js提示阶段到模板阶段传递一个标志?
我觉得应该有一种方法可以做到这一点,不涉及在生成的应用程序文件夹中写入和读取文件。
也许这就是hookFor调用的用途?
答案 0 :(得分:0)
是的 - 似乎可以通过hookFor中已经存在的hookFor调用将选项传递给其他生成器。见solution in this commit
答案 1 :(得分:0)
我的问题与yeoman-generator issue #312基本相同,后者通过使用文件.yo-rc.json添加参数storage API来解决。
基于文件的存储是必要的,因为yeoman子生成器可以独立于'yo'以及通过主生成器调用。 hookFor解决方案只能在主生成器上运行。