Je suis nouveau sur Grunt, et jusqu'à présent, j'apprécie beaucoup. Je veux que Grunt compile uniquement les fichiers modifiés lors de l'exécution grunt watch
Dans mon Grunfile.coffee j'ai actuellement (parties pertinentes).
Note: assets/javascript/app.coffee et assets/javascript/app.js sont des répertoires
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
Il y a probablement un moyen plus court, mais je compile d'abord app.coffee en app.js, afin que lorsque je distribue mon travail, les gens qui ne sont pas à l'aise avec Coffeescript puissent parcourir le code de manière raisonnable.
Le problème avec tout cela, c'est qu'une fois que j'enregistre un fichier Coffeescript, je trouve qu'il y a trop d'étapes (je pense) :
>> Fichier "assets/javascript/app.coffee/browse.coffee" modifié.
Exécution de la tâche "coffee:default" (coffee)
Fichier assets/javascript/app.js/browse.js créé.
Fichier assets/javascript/app.js/filters.js créé.
Terminé, sans erreurs.
Terminé en 0,837s le Mar Mai 28 2013 12:30:18 GMT+0300 (EEST) - En attente...
OK
>> Fichier "assets/javascript/app.js/browse.js" modifié.
>> Fichier "assets/javascript/app.js/filters.js" modifié.
Exécution de la tâche "uglify:dev" (uglify)
Fichier "js/app.js" créé.
Fichier "js/libs.js" créé.
Terminé, sans erreurs.
Terminé en 0,831s le Mar Mai 28 2013 12:30:19 GMT+0300 (EEST) - En attente...
OK
>> Fichier "js/app.js" modifié.
>> Fichier "js/libs.js" modifié.
Terminé en 0,000s le Mar Mai 28 2013 12:30:19 GMT+0300 (EEST) - En attente...
Actuellement, je suis en train de configurer mon projet, mais j'aurai beaucoup plus de fichiers Coffeescript, et je ne veux pas que Coffeescript recompile tous les fichiers à chaque modification de fichier.
De plus, libs.js n'a aucun lien avec tout cela, mais je suppose qu'il est toujours compilé, car il correspond également au motif "assets/*/.js".
Y a-t-il un moyen de faire en sorte que Grunt compile uniquement les fichiers qui ont été modifiés?