问题标签 [gulp-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 投票
2 回答
2019 浏览

git - gulp 任务如何知道 gulp.watch 任务是否正在运行?

我有一个执行结帐的 gulp git 任务,因此更改了当前的工作目录。

我也有重新编译更改文件的 gulp watch 任务。

如果任何监视任务正在运行,我不想运行 git 任务。它会重新编译新分支中的文件。

有没有办法检测 gulp watch 任务是否正在运行?如果是这样,我可以简单地退出 git 任务并显示警告消息。

0 投票
1 回答
580 浏览

javascript - 吞咽,指南针,实时重新加载和部分重新加载

所以,我在我的项目中使用 gulp。

我使用 gulp-compass 来编译我的资产。

而且,我的任务之一是开发人员的监视任务。像这样:

指南针功能:

注意:errorHandler 函数与我的问题无关。

我以这种方式查看文件的原因是为了使 gulp-compass 不编译所有文件,而是编译已更改的文件(我将其用于开发,因此我将一次在一个文件中工作),这样刷新速度很快,而且我不必等待(通常,编译所有 scss 大约需要 30 ~ 60 秒)。gulp-compass 仅执行编译,不执行监视。

当我处理非部分文件(即:home.scss)时,这非常有效。

但是,如果我在部分上更改某些内容,包括在主 scss 中,事情就会出错:它会编译我的部分,也就是说,它不会刷新(我猜它尝试刷新部分,没有意义)。

为了实现这一点,我必须对父 scss 文件进行虚拟修改,并且它可以工作。

我知道这是由于我定义任务的方式(当时只发送到罗盘一个文件),也由于 gulp-compass 执行总是“编译”。

这个 gulp-plugin(到目前为止)没有 watch 命令(除非我修补它,而且我不想这样做)。

有人知道如何解决这种情况,当我改变部分内容时,“他知道”这个部分属于某个父级然后刷新它?

到目前为止,我可以对父级进行虚拟修改,或者明确地观看我正在处理的父级 scss,但我很想拥有这个自动的。

我认为一种解决方案可以是创建一个包含部分的所有父级的地图(直接读取文件),如果部分被修改,更新所有父级并刷新,但也许那“太贵了”。也许这可能是某种“热身”......

有人有同样的问题吗?您如何使用局部和监视/实时重新加载环境?

所有这一切的目标是编写代码并更新我的浏览器,这样我就可以实时看到我的进步并防止跨浏览器问题(很少有浏览器同时打开并动态刷新)。

任何建议/帮助将不胜感激!

0 投票
2 回答
13437 浏览

gulp - Gulp 包 JSON

我使用 GULP 创建了一个演示,但在运行 gulp js 文件时遇到了问题。

安装过程:

控制台警告:

包.JSON:

Gulp.js 文件。

现在如果我试图运行我的 gulp js 文件,使用命令“gulp”。然后它的错误是:

0 投票
3 回答
2704 浏览

gulp - Gulp 任务管道仅在源文件更改时才连接

我有一个生成连接 JS 文件的 gulp 任务。我正在使用手表来检测项目中所有文件的更改,并且希望 concat 任务仅在源文件自上次执行后发生更改时才重新连接文件。

注意:我可以使用更具体的监视命令,但在我的实际生产案例中,我们从源 JS 文件的多个组合生成多个连接的 JS 文件,因此为每个创建监视和任务要复杂得多

像这样的东西:

我考虑在最后两个步骤中使用惰性管道,所以如果有文件,我只运行 concat 和 dest,但我不知道如何:

  • 根据管道中是否还有任何文件(在 cache() 之后)运行条件
  • 带回所有源文件(基本上再次重新发出 gulp.src() 以重新启动流)

我知道我可以在第二部分使用 gulp-remember,但在我的生产案例中,如果可能的话,重建流会更干净。

有人以前做过这个或有任何关于从哪里开始的提示吗?

0 投票
1 回答
827 浏览

build - 当 gulp 文件更改时自动重启 GulpJS watch

假设我正在运行 gulp watch,并将文件添加到任务中。有没有办法让 gulp watch 进程在任务发生变化后自动重启?

0 投票
1 回答
731 浏览

javascript - Gulp Watch Concat 有时会忽略一些 JS 文件

我有一个 Gulp concat watch 任务设置来连接一些 JS 文件:

我认为很正常的设置。每当任何脚本更改时,main.js都会通过按该顺序连接脚本来创建。它在 99% 的时间里都能正常工作。

但有时,可能是随机的,concat 只是遗漏了 1 个或多个文件。例如,我将进行编辑scriptB.js,保存它,然后查看main.js它并仅连接scriptA,scriptBscriptE. 它完全忽略了 C 和 D。有时它可能只是 C。有时它可能是 D。有时它可能是 A。它只是随机的。我没有对它遗漏的任何文件做任何事情。我在我的编辑器中打开了它,但它没有改变,只是坐在那里。Gulp 有时只是出于某种随机原因决定将其排除在外。

我修复它的方法是简单地打开任何遗漏的脚本并在随机行或其他内容的末尾添加一个空格,然后保存它,然后main.js像我期望的那样连接它。该文件没有任何问题。只好重新保存了。

这是任何人都知道的一个突出的错误吗?我无法在任何地方找到有关此错误的任何信息。我可以做些什么来调试或记录此问题以弄清楚如何重新创建它?

我确实注意到的一件事是,假设我正在编辑scriptC并保存它,然后通知scriptD丢失了。如果我返回scriptC并再次保存它,scriptD仍然没有连接。我必须打开scriptD并保存它以强制将其包含回main.js. 因此,一旦我看到问题弹出窗口,我通常可以以这种方式重新创建它。

这通常只发生大约 20 次保存中的 1 次。

0 投票
2 回答
1210 浏览

javascript - gulp.watch() 不适用于 ftp 更新

我最近学习了 gulp 并在我的本地计算机上编写了这个 gulp 脚本,以便它可以监视任何更改,并将我的 javascripts(在这种情况下,./js/main.js及其依赖项)编译成一个文件./js/bundle.js

它在我的本地计算机(Windows 7)上运行良好,所以我尝试将它放到我的远程 Ubuntu 服务器上,让它监视任何 ftp 更新并浏览它们。

换句话说,我想远程编码并./js/main.js通过 ftp 更新,并让 gulp 监视更改并自动浏览它。

问题是:Gulp 识别出更改并登录控制台:

但是输出文件bundle.js只包含模块加载器脚本:

如果我将任务更改为

然后代码运行正常。

我想问一下为什么它必须等待一段时间才能进行浏览。gulp.watch()ftp 传输完成后不应该触发“更改”事件吗?如果没有,至少不应该使用旧版本吗?

谢谢你。

0 投票
1 回答
589 浏览

composer-php - 如何使用 gulp 监视作曲家包更新?

Composer 是一个很好的依赖管理工具,但对于本地开发来说,继续运行它来更新构建可能会变得很耗时。有一些方法可以解决这个问题,比如符号链接,但是使用像gulp这样的构建工具,似乎应该有更好的方法来监控对本地库的更改。

监视本地库是有道理的,但作曲家基于最新git提交而不是工作目录的当前状态来做出更新决定。如何让gulp watch任务更新我的依赖项?

0 投票
0 回答
2079 浏览

node.js - gulp.watch 错误:结束后写入

对于不同的指令,我得到不同的结果gulp.watch当我执行watch任务并更改.html文件时,一切正常(任务定义如下)

但是当我更改任何其他文件(.coffee、.less 等)时,我收到此错误:


观看任务

模板任务

Phnxjs 任务

0 投票
3 回答
3101 浏览

node.js - 使用 gulp-sftp 仅上传更改的文件

我在 gulp 中有以下任务:

config.layout.frontend.distDir 值为“httpdocs”。

问题是没有文件被上传,无论它们是否被更改(我已经尝试将 gulp-changed 的​​ hasChange 选项保留为默认值。我总是得到以下输出:

有任何想法吗?