咕噜表的任务似乎需要很长时间
我正在运行两个简单的任务,每个任务的运行时间都小于100ms,但是在watch命令下运行时,两个组合任务总共花费了大约8秒(每个任务的开销似乎为3.5秒)。 我正在使用它与现场重新开发,我觉得非常沮丧。 我尝试设置spawn
为false
但这似乎打破了它,并没有任何相关的任务运行。
这里是从sass文件更改时的示例输出。
>> File "app/styles/main.scss" changed. File "app/styles/main.css" created. Done, without errors. Elapsed time loading tasks 4ms ▇▇▇▇▇ 9% sass 1ms ▇▇ 2% sass:dist 39ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 89% Total 44ms Completed in 3.862s at Mon Nov 18 2013 17:05:57 GMT+0000 (GMT) - Waiting... OK >> File "app/styles/main.css" changed. Running "copy:styles" (copy) task Copied 1 files Done, without errors. Elapsed time loading tasks 4ms ▇▇▇▇▇▇▇▇▇▇▇▇ 24% copy:styles 13ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 76% Total 17ms Completed in 3.704s at Mon Nov 18 2013 17:06:01 GMT+0000 (GMT) - Waiting... OK >> File ".tmp/styles/main.css" changed. ... Reload .tmp/styles/main.css ... ... Reload .tmp/styles/main.css ... Completed in 0.000s at Mon Nov 18 2013 17:06:01 GMT+0000 (GMT) - Waiting...
在node.js 0.10.20上使用grunt 0.4.1(和grunt-cli 0.1.11)。 运行在2012年Macbook Air(OS X 10.8.5)
文件更改后,观看执行任务,但完成后,观看重新加载模块(!)并再次观看。
详细看看问题:
grunt tasknamewatch --verbose
我已经在手表任务上尝试过recursion,但没有成功。
watch: { ..., tasks: ['sometask', 'watch'] }
运行良好的简单解决scheme是使用“grunt-este-watch”。 您可以阅读这里所需的步骤: https : //stackoverflow.com/a/33920834/2741005
是的,贡献是慢了很多,认为这可能导致了这个问题。 我唯一可以build议的是尽量减less你正在运行的监视目标的数量; 它看起来像你是从app
复制的CSS到tmp
,然后重新加载? 可能会更好地将sass直接保存到tmp
,例如sass:dev
任务,这样你只能运行两次。 这是我通常这样做的:
watch: { sass: { files: [ 'styles/**/*.scss' ], tasks: ['sass', 'copy:dev', 'cssmin'] }, css: { options: { livereload: true }, files: [ 'dist/css/master.css' ], tasks: [] } }
我不禁想到这是在不同目标上运行拷贝的额外开销,当然你可以在任务数组中运行任意数量的任务。 🙂