带有 Babel 流的 Yeoman 生成器

Yeoman generator with Babel flow

我决定将我的生成器从 ES5 语法重写为 ES6。但是我在预发布时遇到了转译生成器的问题。

问题:众所周知,Yeoman 生成器有 templates 个文件夹,其中包含不同的文件。当 Babel 通过 babel src --out-dir generators 传输所有生成器源代码时,它会跳过模板文件或错误地中断传输。

我的尝试:我试图做类似babel src --out-dir generators && cp -rn src/ generators/的东西,但我不喜欢这个解决方案。

问题:我如何制作旧结构generators/sub-generators但在 ES6 语法中,而不是在 ES5 中。

谢谢。

UPD:我希望 Yeoman 有像 Mocha 有的东西 --require babelhook.js

我找到了这个案例的解决方案。

首先,我创建了 src 文件夹,其中包含 ES6 语法中的生成器源代码。此文件夹的结构与通常的 ES5 生成器相同。

当我想编译这些源时,我只需要复制它们并在 generators 个文件夹中编译。

所以我在 package.json;

中编写了以下脚本
"scripts": {
  "clean": "rm -rf ./generators",
  "compile": "npm run clean && cp -r src/ generators/ && babel src --out-dir generators",
  "prepublish": "npm run compile",
  "test": "istanbul cover _mocha"
}

我所做的最后一件事是在 .babelrc 文件中添加 ignore 字段。所以我确信模板只会被复制而不是被破坏。

{
  "stage": 0,
  "ignore": [
    "app/templates",
  ]
}