J'utilise Grunt uniquement pour le chargement du foie. Cela fonctionne bien, mais j'ai remarqué qu'il a un CPU élevé, et quand je l'exécute avec "--verbose", je vois qu'il regarde tout le dossier "node_modules". Donc, j'ai fait quelques recherches, et j'ai essayé d'ignorer cela. Malheureusement, sans succès.Grunt.js watch - node_modules est toujours surveillé
Ma partie de montre de « gruntfile.js » est:
// the watch stuff ..
watch: {
all: {
files: ['!**/node_modules/**', 'js/**/*.js', 'css/**/*.css', 'index.html'],
options: {
interval: 5007,
livereload: true
}
}
},
et au fond, je dis que je veux grognement à regarder toutes js, css et le fichier index.html. Explicitement ajouté le code pour ignorer "node_modules", mais il dit toujours qu'il regarde et le processeur tourne autour de 30%. (Mac OS X)
==================
Une chose que je remarque que:
Quand je fais un changement dans la « gruntfile. js "- par exemple ajouter un fichier à la propriété" files "de la tâche" watch "- puis il redémarre le grunt, et dans la console je le vois commencer à regarder seulement les fichiers que je veux, puis CPU descend en dessous de 1% . (Je suppose que c'est comment il devrait être à l'origine.)
Qu'est-ce que je fais mal?
====================
Edit: Malheureusement, quand je change la gruntfile et je ne vois que les fichiers que je veux sont surveillés - alors la substance de charge de foie ne fonctionne plus.
====================
Voici l'article que je partais de: http://thecrumb.com/2014/03/15/using-grunt-for-live-reload/
Voici mon fichier package.json:
{
"name": "grunt-reload",
"version": "1.0.0",
"devDependencies": {
"grunt": "~0.4.3",
"matchdep": "~0.3.0",
"grunt-express": "~1.2.1",
"grunt-contrib-watch": "~0.6.0",
"grunt-open": "~0.2.3"
}
}
Et voici mon Gruntfile.js:
module.exports = function(grunt) {
require('matchdep')
.filterDev('grunt-*')
.forEach(grunt.loadNpmTasks);
grunt.initConfig({
// the web server ..
express: {
all: {
options: {
bases: [__dirname],
port: 8888,
hostname: 'localhost',
livereload: true
}
}
},
// the watch stuff ..
watch: {
all: {
files: ['js/**/*.js', 'css/**/*.css', 'index.html'],
options: {
livereload: true
}
}
},
// the automatic opening stuff ..
open: {
all: {
path: 'http://localhost:8888/index.html'
}
}
});
// create the server task ..
grunt.registerTask(
'server',
['express', 'open', 'watch']
);
}; // end of "module.exports" ..
Et je commence tout cela avec " serveur de grognement ".
'node_modules' est dans la racine. Actuellement, je ne spécifie que les fichiers dans les dossiers "js" et "css", ainsi que le fichier index.html - à regarder, mais il regarde tout le monde et le CPU monte. Pourrait-il être le mot «tout», et c'est pourquoi il regarde absolument tout à la racine? ... –
Cela * ne devrait pas * avoir quelque chose à voir avec le nom de la cible et regarder la source Je ne trouve rien d'autre qui pointe vers cette direction non plus ... vous n'avez pas d'autre 'watch'- cibles que «tout» dans la configuration? Bizarre. –
J'ai ajouté le contenu des fichiers "package.json" et "Gruntfile.js", j'espère donner plus d'informations à ce sujet. –