Yeoman 自定义生成器

标签 yeoman

我想用最新版本的 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/

    相关文章:

    testing - Yeoman webapp 生成器 - 如何在浏览器中运行 mocha 测试

    node.js - meteor 兼容性

    javascript - Yeoman - 当前使用 AngularJS 和 Express 的最佳方式?

    yeoman - 如何让 yeoman 在特定文件夹中创建文件

    javascript - 应用程序模块不可用、拼写错误或忘记加载 - 在 grunt 构建之后

    javascript - npm WARN 已弃用 npmconf@2.1.2 : this package has been reintegrated into npm and is now out of date with respect to npm

    javascript - Grunt 运行并完成 "watch"任务后非常慢

    angularjs - 如何修复 generator-gulp-angular 的项目,以便进行grunt测试?

    angularjs - 使用 Intellij 编辑 .js 文件会导致 Jshint 错误

    node.js - 尝试更新后无法再使用 npm 命令