我想用最新版本的 yeoman 制作一个自定义生成器,但我遇到了一些困难。我一直在挖掘各种文档和示例资源(例如 webapp 和角度生成器),但我仍然有一些问题。
yo my-generator
? yo
的 beta 版本是否完全改变了生成器框架? 1.0?是否发生了重大变化? yo
注册自己二进制? 谢谢。
最佳答案
这个问题已经有几个月的历史了,但我认为现在发现它的任何人都知道http://yeoman.io/generators.html 中已经解释了更多内容。
问题一:
在本地测试您的发电机很容易。例如,如果您的生成器被称为“generator-mtv-raps”
$ cd ~/dev/generator-mtv-raps/
$ npm link
现在,如果你这样做:
$ cd ~/dev/mytest/
$ yo mtv-raps
它将建立。
此外,使用 mocha 对生成器进行单元测试非常简单。内置了一组测试助手。您需要测试的基础知识可以在 generator-webapp 的测试 https://github.com/yeoman/generator-webapp/blob/master/test/test.js 中找到。
helpers.mockPrompt
模拟您的提示helpers.assertFiles
创建数字 4 有点棘手,可以将预期文件的数组传递给正则表达式进行检查。如果您想了解更多关于测试助手的信息,源是最好的地方。 https://github.com/yeoman/generator/blob/master/lib/test/helpers.js
问题 2:btford 已经回答
问题 3:
生成器绑定(bind)到
yo
通过全局安装它们(或如上所述链接它们)并使用命名约定。所有生成器都以“generator”开头,然后是“-”,然后是“name”。因此
generator-mtv-raps
通过 $ yo mtv-raps
访问
关于Yeoman 自定义生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962885/