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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage