gpt4 book ai didi

javascript - "grunt watch"总是在发生 fatal error 后停止监视 - 如何让它在几秒钟后自动重试?

转载 作者:行者123 更新时间:2023-11-28 13:59:24 25 4
gpt4 key购买 nike

在一些元素中,我使用 Grunt 来完成 SASS 编译等任务。基本上它就像一个魅力,但只要我在 SASS 文件中输入,显然有时会发生错误,因为我没有完成。

我的Gruntfile的watch任务是这样的:

// watch files
watch: {
sass: {
files: ['web/var/static/**/*.scss','web/var/static/lib/**','web/var/static/js/*.js'],
tasks: ['default']
}
},

我在 cli 中使用 grunt watch 启动它。

Grunt 日志中的示例错误:

Completed in 1.968s at Wed Sep 18 2019 13:43:01 GMT+0200 (Central European Summer Time) - Waiting...
>> File "web/var/static/sass/layout/footer.scss" changed.
Running "sass:dist" (sass) task

Running "autoprefixer:dist" (autoprefixer) task
>> 4 autoprefixed stylesheets created.

Running "cssmin:dist" (cssmin) task
>> 4 files created. 706.54 kB → 598.46 kB

Running "concat:dist" (concat) task

Running "uglify:main" (uglify) task

Done.
Completed in 1.769s at Wed Sep 18 2019 13:43:25 GMT+0200 (Central European Summer Time) - Waiting...
>> File "web/var/static/sass/layout/footer.scss" changed.
Running "sass:dist" (sass) task
Fatal error: Error: property "ul" must be followed by a ':'
on line 52 of web/var/static/sass/layout/footer.scss
from line 13 of web/var/static/sass/main.scss
>> ul

----^

如果发生这种情况,我总是必须重新运行任务,因为 grunt 停止监视。这意味着:

  • 打开控制台窗口
  • 停止当前任务
  • 再次开始任务
  • 更改文件

这真的很慢。

有人遇到过类似的问题吗?一旦发生新文件更改,如何让 grunt 在出错后自动重试?

最佳答案

spawn 方法返回对已生成子项的引用。当 child 退出时,调用 doneFunction。如果出现错误,您可以从以下函数重试:

function doneFunction(error, result, code) {
// If the exit code was non-zero and a fallback wasn't specified, an Error
// object, otherwise null.
error
// The result object is an object with the properties .stdout, .stderr, and
// .code (exit code).
result
// When result is coerced to a string, the value is stdout if the exit code
// was zero, the fallback if the exit code was non-zero and a fallback was
// specified, or stderr if the exit code was non-zero and a fallback was
// not specified.
String(result)
// The numeric exit code.
code
}

关于javascript - "grunt watch"总是在发生 fatal error 后停止监视 - 如何让它在几秒钟后自动重试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57992153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com