从 Ember CLI 蓝图生成另一个蓝图

Generate another blueprint from an Ember CLI blueprint

我已经根据 ember-cli 上的文档创建了一个自定义蓝图,我想 运行 一个 不同的 蓝图(本质上是 ember g something-else ...) 从我的第一个蓝图中。我该怎么做?

特定用例:我已经覆盖了 Ember CLI 的默认组件蓝图,我想为每个生成的组件生成匹配的 CSS 部分(在 app/styles/components/ 中),在我的新组件蓝图中。

在你的发电机内部(可能 app/blueprints/blueprint-name/index.js):

var Blueprint = require('ember-cli/lib/models/blueprint');

module.exports = {

  ...

  afterInstall: function(options) {
    var otherBlueprint = Blueprint.lookup('other-blueprint-name', {
      paths: [path.resolve(__dirname, '..')]
    });

    return otherBlueprint.install(options);
  },
};

感谢nullnullnull for pointing out this approach at calling-ember-g-component-within-a-blueprints-index-js