グラントタスクをカスタマイズする方法
時々、私たちは私たち自身のうなり声のタスクをいくつか書く必要があります、ここに特定の例があります
1。準備
1.新しいディレクトリG1を作成します
2.新しい包装を作成して、G1に入れます
3.新しいgruntfile.jsを作成してG1に入れます
package.json
コードコピーは次のとおりです。
{
「名前」:「G1」、
「バージョン」:「0.1.0」、
「著者」:「@snandy」、
「ホームページ」:「http://www.g1.com」、
「devdependicies」:{
「グラント」:「〜0.4.0」
}
}
4。CDでG1を入力し、Grunt Package NPMインストールをインストールします
ディレクトリ構造全体が次のとおりです
gruntfile.jsは一時的に空です。
2。最も簡単なタスクを作成します
grunt.registertask(taskname、[description、] taskfunction)
tasknameタスク名、コマンドラインでgrunt + tasknameを使用します
タスクの説明
タスク機能のタスクの実装
gruntfile.jsでコードを入力します
コードコピーは次のとおりです。
module.exports = function(grunt){
grunt.registertask( 'mytask'、 '最も単純なタスクのデモンストレーション、パラメーターに応じて異なる出力を印刷します。'、function(arg1、arg2){
if(arguments.length === 0){
grunt.log.writeln( 'task' + this.name + "、パラメーターなし渡されない");
} else if(arguments.length === 1){
grunt.log.writeln( 'task' + this.name + "、" + arg1);
} それ以外 {
grunt.log.writeln( 'task' + this.name + "、" + arg1 + "、" + arg2);
}
});
};
タスク「MyTask」は、渡されたパラメーターに従って異なる印刷の最も単純な実装を実装するために登録されています。実行結果に応じてコマンドラインを入力する必要があります。
G1ディレクトリを入力し、Grunt MyTaskを入力します
Grunt Mytask:Snandyを入力してください
タスク名にコロンを追加して引数を渡す
Grunt Mytask:Snandy:Backusを入力します
コロン間隔は複数のパラメーターを渡すことができます
3.一度に複数のタスクを作成します
grunt.registerMultitask(taskname、[description、] taskfunction)
パラメーターは同じであり、メソッド名が異なることがわかります。ただし、使用方法は異なります。最初にconfigを初期化する必要があります。gruntfile.jsは次のとおりです。
コードコピーは次のとおりです。
module.exports = function(grunt){
grunt.initconfig({
ログ:{
T1:[1、2、3]、
T2:「HelloWorld」、
T3:FALSE
}
});
grunt.registerMultitask( 'log'、 'log Stuff'。、function(){
grunt.log.writeln(this.target + ':' + this.data);
});
};
G1ディレクトリを入力して、個別にテストします
グラントを入力すると、3つのサブタスクが順番にT1、T2、T3が実行されます
Grunt Log:T1、Grunt Log:T2、Grunt Log:T3をそれぞれ入力します
4。タスク間通信
次のように、別のタスクを1つのタスク内で呼び出すことができます
コードコピーは次のとおりです。
module.exports = function(grunt){
grunt.registertask( 'mytask'、 '最も単純なタスクのデモンストレーション、パラメーターに応じて異なる出力を印刷します。'、function(arg1、arg2){
if(arguments.length === 0){
grunt.log.writeln( 'task' + this.name + "、パラメーターなし渡されない");
} else if(arguments.length === 1){
grunt.log.writeln( 'task' + this.name + "、" + arg1);
} それ以外 {
grunt.log.writeln( 'task' + this.name + "、" + arg1 + "、" + arg2);
}
});
grunt.registertask( 'default'、 'default'、function(){
// mytaskに電話してください
grunt.task.run( 'mytask:param1:param2')
})
};
コマンドラインを入力して、Gruntを入力します
複数のタスクを呼び出して、コンマで区切られた実行方法または配列形式に渡す
コードコピーは次のとおりです。
grunt.registertask( 'default'、 'default'、function(){
grunt.task.run( 'mytask1'、 'mytask2')
// または
grunt.task.run(['mytask1'、 'mytask2'])
})