グランツセットアップを微調整する際にいくつか問題があります。私たちの現在のプロジェクト設定はこうです。テーマフォルダにテーマフォルダがあります。テーマフォルダには、テーマごとに独自のSCSSファイルやその他のテーマに関連するテーマがあります。グラントでさまざまなコンパスタスクに複数のウォッチタスクを組み合わせる方法
当社のイサキファイルは約15のテーマ(最終的にうなり声が働いているため、デフォルトの兵卒のセットアップとJSHintを除外)で、このような設定である:
compass: {
options: {
...
}
theme1: {
src: ['App/Themes/theme1/scss/**/*.scss'],
tasks: ['compass'],
options: {
sassDir: 'App/Themes/theme1/scss',
cssDir: 'App/Themes/theme1'
}
},
theme2: {
src: ['App/Themes/theme2/scss/**/*.scss'],
tasks: ['compass'],
options: {
sassDir: 'App/Themes/theme2/scss',
cssDir: 'App/Themes/theme2'
}
},
...
}
concurrent: {
watch: {
tasks: ['compass:theme1', 'compass:theme2', ..., 'compass:themeXX'],
options: {
logConcurrentOutput: true,
spawn: false
}
}
}
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['concurrent']);
実際の問題は、我々は、デフォルトの起動時にということですタスクx watchスレッドも開始されます。彼らはしなければならない小さな腕時計の仕事のために多くのオーバーヘッドを持っています。
私が探している解決策は、特定のテーマコンパスをトリガできる単一の監視タスクをセットアップする方法です。それを行う方法はありますか?それとも、現在の設定が唯一の方法ですか? xのタスクを見るよりも他の選択肢はありませんか?
ありがとうございました。
私が探していたものとまったく同じです。私はまだいくつかのことを磨く必要がありますが、良い出発点です。ありがとう。 –
btw、これらの圧縮ターゲットの類似性によっては、テンプレート文字列を介してパラメータを渡す単一のターゲットにリファクタリングすることができます – theaccordance
唯一の違いはフォルダの名前 –