Grunzen: Mehrere Dateien ansehen, nur Kompilieren geändert
Ich bin neu bei Grunt und genieße es bisher sehr. Ich möchte, dass Grunt beim Ausführen nur die geänderten Dateien kompiliertgrunt watch
In meiner Grunfile.coffee habe ich aktuell (relevante Teile).
Hinweis: assets / javascript / app.coffee und assets / javascript / app.js sind Verzeichnisse
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
Es gibt wahrscheinlich einen kürzeren Weg, aber ich kompiliere zuerst app.coffee zu app.js, damit Leute, die mit Coffeescript nicht vertraut sind, den Code auf eine vernünftige Weise durchsuchen können, nachdem ich meine Arbeit verteilt habe.
Das Problem dabei ist, dass ich jetzt, da ich eine Coffeescript-Datei speichere, zu viele Schritte bekomme (glaube ich):
>> 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...
Momentan richte ich nur mein Projekt ein, aber ich werde viel mehr Coffeescript-Dateien haben, und ich möchte nicht, dass Coffeescript bei jeder Dateiänderung alle Dateien neu kompiliert.
Außerdem hat libs.js überhaupt keinen Anteil an all dem, aber ich denke, es wird noch kompiliert, weil es auch mit dem "assets / *" übereinstimmt./.js "Muster.
Gibt es eine Möglichkeit, Grunt nur die Dateien kompilieren zu lassen, die sich geändert haben?