我正在使用gulp-nodemon
config目录仅包含一个文件server.js。
$.nodemon({
script: 'config/server.js',
watch: ['config/**/*.js']
})
.on('restart', function () {
setTimeout(function () {
$.livereload.changed();
}, 1000);
});
输出:
[gulp] [nodemon] v1.2.1
[gulp] [nodemon] to restart at any time, enter `rs`
[gulp] [nodemon] watching: config/**/*.js
[gulp] [nodemon] starting `node config/server.js`
[gulp] [nodemon] watching 34,325 files - this might cause high cpu usage. To reduce use "--watch".
如果我包括一个忽略选项,它会修复。
ignore: [
'node_modules/**',
'bower_components/**'
]
为什么即使我告诉Nodemon只监视config目录,nodemon仍会监视所有内容?
它也从输出中出现,它仅监视配置目录
[nodemon] watching: config/**/*.js
最佳答案
这似乎是 nodemon 本身的错误,因为我能够使用简单的nodemon
命令重现它:
> nodemon --watch app server.js
[nodemon] v1.2.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: app/**/*
[nodemon] starting `node server.js`
[nodemon] watching 72,981 files - this might cause high cpu usage. To reduce use "--watch"
nodemon
的默认行为是监视项目根目录中的所有目录,并忽略某些目录,例如
node_modules
,bower_components
或.sass_cache
。默认的ignore
实际上不起作用,但已在this PR中修复。应用此修复程序,我的输出与预期的一样。> nodemon --watch app server.js
[nodemon] v1.2.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: app/**/*
[nodemon] starting `node server.js`
我使用这两种配置进行了测试,即使有警告,我的
nodemon
也不刷新不在指定watched
目录中的文件更改,并且可以按预期工作,而没有任何性能问题。这很可能是对我的错误肯定警告。但是现在,我建议您继续使用
ignore
规则,直到将其合并到nodemon
或找到其他解决方法为止。这里有一些与此相关的问题:#46,#366和#32
关于javascript - Nodemon监视选项损坏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24785186/