问题标签 [grunt-contrib-watch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1485 浏览

javascript - Grunt watch -- 长时间延迟

我有一个 Grunt watch 任务,在检测文件更改和开始工作之间似乎有很大的延迟。

常见的输出如下:

在这里,我们看到实际工作只花了597ms,但总任务运行了14.469s

这是我的 Gruntfile 中的相关片段:

调用哪个监视目标似乎无关紧要,总是有延迟。延迟的时间量不一致——介于 5 秒到 60 秒之间(但平均而言,大约 15 到 20 秒)。

这真的很刺激我的 js 氛围。我该如何调试可能是什么原因?

编辑:

正在观看的文件数量并不小,但远非巨大:

0 投票
1 回答
729 浏览

express - 使用 grunt-express-server 和 grunt-contrib-watch 在服务器之前重新加载浏览器

每当我对 javascript 文件进行更改时,我都会尝试将grunt-contrib-watchgrunt-express-server一起使用来重新加载我的 express 服务器和浏览器页面。我遇到的问题是页面在服务器准备好之前重新加载,所以我得到“无法在 localhost:3000 建立与服务器的连接”。

这是我的 Gruntfile.js:

在我的 server.js 文件中,我启动服务器:

我发现了这个类似的问题,但是那里提出的解决方案不适用于我的情况,因为我在服务器启动时记录了一些输出,但无论如何都会出现竞争条件。

更新: 如果我从 watch:express 配置中删除 'spawn: false',一切正常,但 express 在启动时会记录错误:

奇怪的是,尽管服务器和页面正确重新加载错误。

这是我的代码(真正的 Gruntfile 更大,但我删除了与 watch 或 express 无关的部分以使问题更具可读性)。

0 投票
1 回答
193 浏览

gruntjs - 自定义 grunt 插件无法与 grunt-watch 配合使用

我正在开发一个重新加载 chrome tab 的自定义 grunt 扩展。当我在插件自己的文件夹中使用它时它工作正常,但是当我尝试从 NPM 下载它并在另一个项目中使用它时,它变得疯狂。

我把它包括在内:

我的自定义任务代码,位于tasks插件的文件夹中,如下所示:

所以,当我在一个外部项目中运行它时grunt watch,grunt 在退出之前会吐出这个错误几百次(无限循环?)

有趣的是,甚至无法在watch任务中调用我的插件,并且问题仍然存在。只有删除grunt.loadNpmTasks('grunt-chrome-extension-reload');才能摆脱问题,这基本上意味着我的任务里面的代码是错误的。有任何想法吗?

0 投票
1 回答
217 浏览

node.js - 咕噜声在它应该看的时候退出

我正在开发一个与 IRC 交互的节点应用程序。

我的Gruntfile.js

当我执行 grunt 时,它表明它已完成并退出。我怎样才能像在基于 Web 的节点应用程序中一样保持咕噜声?

0 投票
3 回答
18725 浏览

javascript - 咕噜手表和连接

我对 grunt 有点陌生,想将它与 Jekyll 和一些 LESS 编译一起使用。

我现在的问题是,我已经通过实时重新加载和监视任务进行了功能齐全的 LESS 编译,并且可以通过 grunt 构建我的 jekyll 站点,但是如何同时运行类似jekyll serveor grunt-connect的东西grunt watch呢?我想要一个 grunt 任务,它可以监视我的 LESS 文件等,构建 jekyll 站点,然后运行一个带有 grunt-connect 或其他东西的小型 Web 服务器。

到目前为止,我的 Gruntfile.js:

0 投票
1 回答
11693 浏览

node.js - 如何设置 Gruntfile.js 以监视 SASS(指南针)和 JS

我是使用 gruntjs 和 nodejs 的新手。我想知道如何设置 gruntfile 以便它同时监视 sass 文件和使用 watch 编译的 js 文件。

这是我到目前为止所拥有的:

任何帮助都感激不尽。谢谢!

0 投票
2 回答
14982 浏览

gruntjs - 为什么 grunt-contrib-watch livereload 不起作用?

我正在努力让 Grunt 的“实时重新加载”功能(如 中实现grunt-contrib-watch)在我的应用程序中工作。我终于咬紧牙关,尝试做一个最小的例子。希望有人可以很容易地注意到缺少的内容。

文件结构:

package.json

Gruntfile.js

index.html

然后我跑了grunt watch,什么都没。但是,不会自动打开浏览器窗口(应该吗?)。

当我打开 chrome 时,http://localhost:35729/我收到了这个 json:

并尝试该端口上的任何其他路径给我

0 投票
1 回答
54 浏览

javascript - 如何指定在 watch grunt config 上运行哪些子任务

我有以下监视配置,可以重新加载页面并运行其他任务。

我不想在监视任务中运行“测试”选项,我只想在指定时运行它,就像在我的测试任务中一样:

我试图在并发任务中做到这一点:

不幸的是没有工作:(

0 投票
1 回答
2059 浏览

javascript - Grunt php livereload 不起作用

我有一个运行 php 服务器的 grunt 脚本,我已经将 grunt 配置为监视 php 文件并重新加载它们。当我更改一个 php 文件(以及我项目中的其他类型的文件)时,grunt 日志:

但不重新加载文件!

这是我的 Grunt.js

我在做什么有什么问题?

0 投票
1 回答
1740 浏览

gruntjs - Grunt.js - 同时运行监视两个监视任务?

好的,我已经将 Grunt 设置为 concat 并最小化我的所有 JS 文件,我还设置了它来运行我的 sass 文件。这工作正常,我设置了监视调用来监视所有 .js 和 .scss 文件,然后它运行为每个文件设置的任务。

我正在玩backbone.js,因此每次我对其中一个文件进行更改时都有很多库文件要联系,这本身不是问题,但是当任何sass文件发生更改时,它都会运行我的闭包编译器,即使我的任何 js 文件都没有更改。

所以我做了一些研究,从这里找到的一些问题/答案中,看起来我可以设置两个监视功能来监视不同的文件夹并在每个监视文件夹上的文件发生更改时运行设置任务。简单吧?如果是这样我不确定出了什么问题,但它只会看第一个任务,第二个它不会同时看?

我知道 JavaScript 是非阻塞的,但是 watch 任务是阻塞任务,从我的理解来看(如果我错了,请纠正我)当我的第一个 watch 调用开始时,它会停止 grunt 运行第二个 watch 调用?

然后我发现了并发,我认为这可以解决我的问题。但它只是做同样的事情,第一个 watch 调用似乎停止了第二个调用,而 grunt 正在查看我的第一组文件夹。

这是当前的 grunt 文件代码:

所以我真正想要的是,这个 grunt 文件是否可以同时监视两个文件夹,并且只在该组中的文件发生更改时执行我需要的操作/任务,这可行吗?

我确实有(或至少认为我有)有一个解决方法,我正在 Windows 上开发,但有一个运行 Ubuntu 服务器的虚拟机。我在腻子终端内运行我的 grunt 文件。在这种情况下,我可以有两个腻子终端,一个设置为一个监视 js 文件的调用,另一个用于监视我的 scss 文件。这种设置只是更简单的方法吗?

欢迎所有帮助。

格伦。

PS。抱歉,如果我的拼写错误,我有阅读障碍,也可能没有正确解释事情,所以请告诉我,我会改进我的措辞,谢谢。