Grunt: Oglądaj wiele plików, tylko kompiluj Zmieniono
Jestem nowym użytkownikiem Grunta i do tej pory bardzo mi się to podoba. Chcę, żeby Grunt kompilował tylko zmienione pliki podczas pracygrunt watch
W moim Grunfile.coffee obecnie mam (odpowiednie części).
Uwaga: assets / javascript / app.coffee i assets / javascript / app.js są katalogami
coffee:
default:
expand: true
cwd: "assets/javascript/app.coffee"
src: ["*.coffee"]
dest: "assets/javascript/app.js"
ext: ".js"
uglify:
dev:
options:
beautify: true
compress: false
mangle: false
preserveComments: 'all'
files:
"js/app.js": "assets/javascript/app.js/*.js"
"js/libs.js": "assets/javascript/libs/*.js"
watch:
coffeescript:
files: 'assets/javascript/**/*.coffee'
tasks: ["coffee"]
javascript:
files: "assets/**/*.js"
tasks: ["uglify:dev"]
livereload:
files: ["Gruntfile.coffee", "js/*.js", "*.php", "css/*.css", "images/**/*.{png,jpg,jpeg,gif,webp,svg}", "js/*.js", ]
options:
livereload: true
Prawdopodobnie istnieje krótszy sposób, ale najpierw kompiluję app.coffee do app.js, aby po rozpowszechnieniu mojej pracy ludzie, którzy nie czują się dobrze z Coffeescript, mogli przeglądać kod w dość rozsądny sposób.
Problem z tym wszystkim polega na tym, że teraz, kiedy zapisuję plik Coffeescript, otrzymuję zbyt wiele kroków (tak myślę):
>> File "assets/javascript/app.coffee/browse.coffee" changed.
Running "coffee:default" (coffee) task
File assets/javascript/app.js/browse.js created.
File assets/javascript/app.js/filters.js created.
Done, without errors.
Completed in 0.837s at Tue May 28 2013 12:30:18 GMT+0300 (EEST) - Waiting...
OK
>> File "assets/javascript/app.js/browse.js" changed.
>> File "assets/javascript/app.js/filters.js" changed.
Running "uglify:dev" (uglify) task
File "js/app.js" created.
File "js/libs.js" created.
Done, without errors.
Completed in 0.831s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...
OK
>> File "js/app.js" changed.
>> File "js/libs.js" changed.
Completed in 0.000s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...
Obecnie właśnie konfiguruję mój projekt, ale będę miał dużo więcej plików Coffeescript i nie chcę, aby Coffeescript przekompilował wszystkie pliki, przy każdej zmianie pliku.
Ponadto libs.js w ogóle nie ma w tym nic wspólnego, ale myślę, że nadal jest skompilowany, ponieważ pasuje również do „assets / */wzór .js ”.
Czy istnieje sposób, aby Grunt skompilował tylko te pliki, które się zmieniły?