2014-11-26 6 views
2

Я запутался предупреждающим сообщением nodemon в:Nodemon смотреть слишком много файлов

myproject $ nodemon index.js 
26 Nov 11:14:31 - [nodemon] v1.2.1 
26 Nov 11:14:31 - [nodemon] to restart at any time, enter `rs` 
26 Nov 11:14:31 - [nodemon] watching: *.* 
26 Nov 11:14:31 - [nodemon] starting `node index.js` 
26 Nov 11:14:31 - [nodemon] watching 26,084 files - this might cause high cpu usage. To reduce use "--watch". 

Если я сосчитать все файлы, я получаю:

myproject $ find . | wc -l 
16628 

И подавляющее большинство из этих файлов находятся под .git и node_modules, которые в любом случае должны игнорироваться nodemon. Любая идея, что может быть причиной этого?

(я буду использовать --watch поры до времени)

ответ

1

я признаю, я немного смущенный файлом COUNT по сравнению с наблюдать подсчет, но хороший вариант может быть, чтобы обновить nodemon до недавнего 1,3 +0,0 релиз:

npm uninstall -g nodemon 
npm cache clean 
npm install -g nodemon 

обновление исправляет множество ошибок и раздражения, включая игнорировать правила, принимая приоритет над правилами часов, и новые параметры по умолчанию, чтобы игнорировать общие каталоги, такие как .git и .sass-кэш (старую версию 1,2 Бесполезные это не очень хорошо, если вообще.)

+0

Я использую nodemon 1.3.1 и все еще сталкиваюсь с той же проблемой. больше идей по этому поводу? – Hinrich

+0

Вы определили 'ignore' в 'options'? 'nodemon: { Dev: { сценарий: 'server.js', опции: { nodeArgs: [ '--debug'], игнорировать: [ 'общественное /', 'node_modules /'],' и т.п. –

0

Если начать nodemon с --verbose опции вы увидите вывод, подобный этому:

... 
[nodemon] files triggering change check: .git\index.lock 
[nodemon] changes after filters (before/after): 1/0 
[nodemon] files triggering change check: .git 
[nodemon] changes after filters (before/after): 1/0 
[nodemon] files triggering change check: .git 
[nodemon] changes after filters (before/after): 1/0 
... 
[nodemon] files triggering change check: node_modules\jade 
[nodemon] changes after filters (before/after): 1/0 
... 

Этого вывод был взят в то время как я был возиться с некоторыми файлами в .git и node_modules folders.In моего Gruntfile.js я установил ignore опции для этих папок явно, но вы не должны, как это done by default по nodemon:

//Gruntfile.js excerpt 

grunt.initConfig({ 
... 
//configure nodemon 
    nodemon: { 
     options: { 
      ignore: ['.git/', 'node_modules/', etc..], 
      ... 
      //other options 
      .... 
     } 
    } 


так выглядит nodemon держит отслеживать, что происходит в файловой системе, даже при игнорируемых dirs.После некоторого времени с кодом nodemon я заметил, что он устанавливает рекурсивные просмотры файлов, начиная с cwd.
Вы можете увидеть на выходе changes after filters (before/after): 1/0, что изменения файла отмечены в списке игнорируемых каталогов (это то, что касается фильтров). Если файл находится в часах, тогда nodemon делает это (перезапуск, вариант exec и т. Д.). .).

Смежные вопросы