2015-11-23 2 views
0

В моем генераторе я хочу последовательно запускать npm i и jspm i так, чтобы выход журнала не смешивался. Как мне это сделать?Yeoman: Как установить зависимости последовательно

В настоящее время, если я их вместе:

install: function() { 
    this.npmInstall(); 
    this.spawnCommand('jspm', ['install']); 
} 

или

install: { 
    npm: function() { this.npmInstall(); }, 
    jspm: function() { this.spawnCommand('jspm', ['install']); } 
} 

будет работать одновременно.

Я знаю, что я может поместить jspm i в end очереди, но я хочу использовать его для после установки кода и имеет ту же проблему (то есть все коды в end очереди запускаются параллельно).

ответ

0

Yeoman - это только Node.js и JavaScript. Вы справитесь с этим так же, как и с любым асинхронным действием.

В Yeoman, вы используете this.async() определить асинхронную задачу:

install: { 
    npm: function() { 
     this.npmInstall(); 
    }, 
    jspm: function() { 
     this.spawnCommand('jspm', ['install']).on('close', this.async()); 
    } 
} 

Примечание Вы можете также использовать this.spawnCommandSync

+0

Спасибо. Узнайте, что есть много способов сделать это. – unional