2016-08-16 15 views
1

私は、私が分割できるかどうかを確認しようとしています。grunt build:devまたはgrunt build:prodのようなものを呼び出すことができます。devとprodとの間のグラントスイッチタスク

今の課題は、このようになります -

grunt.registerTask('build', "Building all needed files.", [ 
    'clean:build', 
    'check-code', 
    'clean:dist', 
    'dist:prepare', 
    'copy', 
    'cssmin', 
    'injector', 
    'webpack:prod', 
    'create-status-page' 
]); 

そして、あなたはdevprodのキーでコンフィグでできるように、このタスクを分割する方法がある場合、私はどこのためのタスクリスト、疑問に思ってそれはdevとは少し違います。あなたは

return { 
    dev: { 
    ... 
    }, 
    prod: { 
    ... 
    } 
} 

のように股​​関節のconfigsでそれを行う可能性がありますどのように似の並び替えは、この可能性のようなものですか?明確にするために、これらの両方を1つのタスクに登録することで逃げることができるかどうかを尋ねています。

+0

2つの独立したタスクを登録したいのですが...何が問題なのですか? – Amit

+0

@同じ機能のビルドの下で両方とも登録できるかどうか疑問に思っています – ajmajmajma

+0

しかし、最後に2つの独立したタスクが必要ですか? – Amit

答えて

3

multitaskを使用することができます。

grunt.initConfig({ 
    build: { 
    dev: ['task1', 'task2', 'task3'], 
    prod: ['taskA', 'taskB', 'taskC'] 
    } 
}); 

grunt.registerMultiTask('build', 'Building...', function() { 
    grunt.task.run(this.data); 
}); 

次に、あなたはgrunt build:devまたはgrunt build:prod

注を行うことができます。あなただけのgrunt buildを行う場合は、すべてのプロパティを繰り返し処理しますので、DEVタスクとのprodタスクの両方を実行します。

+0

はい、私はこれを理解しています。なぜなら、それらが組み合わされて分割される可能性があるということでしょうか(おそらく鍵によって?) – ajmajmajma

+1

@ajmajmajma OK、わかりました。私は上記の答えが*働くかもしれないと思います。 – miir

+1

まさに私が探しているもの、ありがとう! – ajmajmajma

関連する問題