phonegap アプリで grunt を使用しています。私の webapp を構築するとき、私は android、ios、および web モバイル プラットフォーム用に生成しています。したがって、タスクを宣言するたびに、通常、プラットフォームごとに 1 つずつ、合計 3 つのターゲットがあります。
起動時にいくつかの grunt タスク構成を変更したいと思います。そのため、タスクが実行されるたびに通知を受けたいのです。
たとえば、私はしばしばそのようなものを持っています:
sass: { // some task
options: {
// some options
},
android: {
// android configuration
},
ios: {
// ios configuration
},
web: {
// web configuration
}
}
grunt ファイルには、各ターゲットのステータス (アクティブ/非アクティブ) を宣言できるセクションがあり、1 つ、2 つ、または 3 つのターゲットのみをビルドできます。毎回すべてのものを構築したくありません。
したがって、たとえば grunt コマンドでビルドする場合、各ターゲットを手動で指定する必要はありません。アクティブなものを検出し、そのものだけをビルドしたい。grunt-contrib-watch のようなプラグインを使用し、タスクの実行を宣言する場合、各ターゲットを事前に宣言することはできません。今のところターゲットは3つですが、phonegapなので明日は7つになるかもしれません。
各実行前に通知を受け、実行の範囲を動的に変更するために使用できる API または文書化されていないイベントはありますか?
実際の不機嫌な状態のソリューションは1つしかありません:-タスク実行のラッパーとして機能する独自のプラグイン(たとえばn)を作成します:
grunt n:sass will generate grunt sass:ios sass:web if these two targets are actives
どんな助けでも感謝します。ありがとう。よろしくお願いします。