我想用最新版本的 yeoman 制作一个自定义生成器,但我遇到了一些困难。我一直在挖掘各种文档和示例资源(如 webapp 和角度生成器),但我仍有一些问题。
测试生成器的工作流程是什么?如果我有一个生成器本身的项目,我是否会继续创建新目录来运行
yo my-generator
?生成器框架在 1.0 的 beta 版本中是否发生了变化
yo
?是否发生了重大变化?生成器如何将自己注册到全局
yo
二进制文件中?
谢谢。
我想用最新版本的 yeoman 制作一个自定义生成器,但我遇到了一些困难。我一直在挖掘各种文档和示例资源(如 webapp 和角度生成器),但我仍有一些问题。
测试生成器的工作流程是什么?如果我有一个生成器本身的项目,我是否会继续创建新目录来运行yo my-generator
?
生成器框架在 1.0 的 beta 版本中是否发生了变化yo
?是否发生了重大变化?
生成器如何将自己注册到全局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:
生成器yo
通过全局安装(或如上所述链接它们)并使用命名约定来绑定。所有生成器都以“generator”开头,然后是“-”,然后是“name”。
因此generator-mtv-raps
通过访问$ yo mtv-raps
测试生成器的工作流程是什么?
我将在接下来的几天内为生成器角度工作。你可以在 Github 上跟踪我的进度。yeoman
不幸的是,由于从一个命令到使用yo
并列bower
的过渡,还没有太多示例yo
。我想会有一定程度的单元测试Generator.prototype.method
,以及涉及编写 bash 脚本来运行yo
、npm
、bower
和grunt
.
在 yo 1.0 的 beta 版本中,生成器框架是否发生了变化?是否发生了重大变化?
根据我移植生成器角度的经验,我没有看到太多变化。有一个新的、可选的简化 API,它可能很有用。
生成器如何将自己注册到全局
yo
二进制文件中?
现在的答案是没有。您在项目目录中安装/使用生成器。由于错误的符号链接,我不知何故让它工作了,但这不是推荐的方法。