我已根据ember-cli处的文档创建了自定义蓝图,我希望在第一个蓝图中运行不同的蓝图(基本上是ember g something-else ...
)。我怎么能这样做?
特定用例:我已经覆盖了Ember CLI的默认组件蓝图,我想在新的组件蓝图中为每个生成的组件生成匹配的CSS部分(在app/styles/components/
中)。
答案 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);
},
};
感谢nullnullnull在calling-ember-g-component-within-a-blueprints-index-js指出了这种方法。