Javascript 如何指定要在watch grunt配置上运行的子TAK
我有以下监视配置,可以重新加载页面并运行其他任务Javascript 如何指定要在watch grunt配置上运行的子TAK,javascript,gruntjs,grunt-contrib-watch,Javascript,Gruntjs,Grunt Contrib Watch,我有以下监视配置,可以重新加载页面并运行其他任务 watch: { js: { files: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'], tasks: ['jshint'], options: { livereload: tru
watch: {
js: {
files: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
tasks: ['jshint'],
options: {
livereload: true,
},
},
html: {
files: ['public/views/**', 'app/views/**'],
options: {
livereload: true,
},
},
css: {
files: ['public/css/**'],
options: {
livereload: true
}
},
test: {
files: ['app/**/*.js', 'test/mocha/**/*.js'],
tasks: ['mochaTest', 'karma:unit']
}
},
我不想在监视任务中运行测试选项,我只想在指定该选项时运行它,就像在我的测试任务中一样:
grunt.registerTask('test-w', ['mochaTest', 'karma:unit', 'watch:test']);
我尝试在并发任务中执行此操作:
tasks: ['nodemon', 'watch:js:html:css']
工作不顺利:只需同时指定所有必要的监视任务:
把测试从手表上拿出来。你能把你的整个文件拿出来吗?这个问题听起来很奇怪。给你,一点也不奇怪,我完全明白。不幸的是,除了将app/***/.js从您的监视:测试任务中删除外,我不知道解决方案。如果有办法指定要运行的命令:在我执行tdd时,我希望有一个监视程序,用于在每次更改时运行我的测试。但我不想让它在我在浏览器中运行我的应用程序时运行测试。我以前试过,但它抱怨“watch:js”已经在使用端口35729。我意识到这是因为每个配置js、html和css都设置了livereload:true。我通过制作一个单独的配置来解决这个问题,所有的配置都监视所有的东西,而不是将它们分开。谢谢
tasks : ['nodemon', 'watch:js', 'watch:html', 'watch:css']