开发 Yeoman 生成器模板本身的最简单方法

The easiest way to develop the Yeoman generator's template itself

示例情况

问题

有没有简单的方法如何使用 "template" 本身,如何 运行 它或在本地​​手动使用它,而不需要先 运行 生成器我在 "template"?

的文件中更改单个字母的时间

也许是某种构建步骤,运行 生成器会为我提供一些预设数据? npm模块形式有什么准备好吗?是否存在最佳实践?

在 运行 集成测试之后,您可以在生成的项目文件夹中生成一些命令,看看它们是否正常通过。

到目前为止,我找到的最佳解决方案是创建一个脚本,它:

  1. 创建临时沙箱目录。
  2. 执行npm link
  3. 更改 PATH,使其 包含本地 node_modules.bin(这是防止本地安装的 Yeoman 占用的必要条件)当脚本为 运行 例如 npm run develop).
  4. 时优先于全局脚本
  5. 将环境值 NON_INTERACTIVE 设置为真实值。
  6. 在沙盒目录中运行 yo <your generator>
  7. 在沙箱目录中运行 npm start 以 运行 新生成的服务器代码。

如果 process.env.NON_INTERACTIVE 为真,请更改您的生成器,以便它能够自动为没有默认值的所需提示提供一些虚拟默认值。

然后 运行 脚本为:

$ nodemon --watch <directory with your template> --exec <path to your script> --ext js

它很慢,但是很管用。这样您就可以自己开发模板,避免每次需要尝试时都填充生成器。