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

Max*_*ace 2 code-generation ember.js ember-cli

我已经基于ember-cli的文档创建了一个自定义蓝图,我想从我的第一个蓝图中运行一个不同的蓝图(基本上ember g something-else ...).我怎样才能做到这一点?

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

Max*_*ace 6

你的发电机内部(可能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);
  },
};
Run Code Online (Sandbox Code Playgroud)

感谢nullnullnull调用ember-g-component-within-a -prints -index-js时指出了这种方法.