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

时间:2016-07-19 17:08:21

标签: ember.js code-generation ember-cli

我已根据ember-cli处的文档创建了自定义蓝图,我希望在第一个蓝图中运行不同的蓝图(基本上是ember g something-else ...)。我怎么能这样做?

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

1 个答案:

答案 0 :(得分: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);
  },
};

感谢nullnullnullcalling-ember-g-component-within-a-blueprints-index-js指出了这种方法。