私のプロジェクトのルートにGruntfileがあります。また、アプリケーション/コンポーネント/ jqueryディレクトリにBower経由でjQueryをインストールしました。別のGruntfileでgruntfileを実行する
私のGruntfileの一環として、jQuery Gruntfileでいくつかのコマンドを実行して、ライブラリのカスタムバージョンをビルドします。
私のGruntfileはどうすれば入手できますか?
私のプロジェクトのルートにGruntfileがあります。また、アプリケーション/コンポーネント/ jqueryディレクトリにBower経由でjQueryをインストールしました。別のGruntfileでgruntfileを実行する
私のGruntfileの一環として、jQuery Gruntfileでいくつかのコマンドを実行して、ライブラリのカスタムバージョンをビルドします。
私のGruntfileはどうすれば入手できますか?
あなたがしたいフォルダにspawns gruntという単純なタスクを作成することができます
grunt.registerTask('run-grunt', function() {
var done = this.async();
grunt.util.spawn({
grunt: true,
args: [''],
opts: {
cwd: 'app/components/jquery'
}
}, function (err, result, code) {
done();
});
});
それがうまくいけば分かりませんが、試してみてください。あなたのjQuery Gruntfileは "module.exports"を介してエクスポートされます。つまり、コード内でそれを要求して使用することができます。
var jQueryGrunt = require('path-to-jquery-gruntfile');
jQueryGrunt.task.run(['your-task-you-want-to-run']);
はそれが動作するかどうかを聞くのは興味深いだろう...
は、コンソール出力を取得したい場合@ Sindreの答えに基づいて構築してください。あなたがしなければならないのは、コンソールログresult.stdoutだけです。
grunt.registerTask('run-grunt', function() {
var cb = this.async();
grunt.util.spawn({
grunt: true,
args: ['clean', 'copy:fonts'],
opts: {
cwd: 'bower_components/bootstrap'
}
}, function(error, result, code) {
console.log(result.stdout);
cb();
});
});
もちろん、出力はバッファされていますが、完璧に動作します。 – LeeGee
Sindreさんとスティーブンの答え@ @に基づいて、我々はまた、バッファリングされずに「リアルタイムで」コンソール出力を得ることができます。
grunt.registerTask('run-grunt', function() {
var cb = this.async();
var child = grunt.util.spawn({
grunt: true,
args: ['clean', 'copy:fonts'],
opts: {
cwd: 'bower_components/bootstrap'
}
}, function(error, result, code) {
cb();
});
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
});
Visual Studioのタスクランナーエクスプローラーでもうまくいきます。 これで、プロジェクトのルートにあるgruntfileを使ってBootstrap gruntfileからタスクを実行できます(これはTask Runner Explorerに必要です) – ArieKanarie
これはほとんどのために必要とされるであろうどのような....作品タスクの出力を表示します。私は、タスクカルマを持っているとしましょう:私のユニットテストを 'watch:true'で実行するユニット。私はそれを実行し、画面上の出力を見ることができるようにしたいと思います。 –