问题标签 [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.
gulp - 如何使用 gulp 观察 A 目录中发生的更改并将相同的更改应用于 B 目录?
我想使用 gulp 观察 A 目录中发生的更改并将相同的更改应用于 B 目录。
最初,我会将目录 A 下的所有内容复制到目录 B 中。
更改可以是:
- 修改文件
- 添加文件
- 删除文件
- 添加目录
- 删除目录
我无法使用 gulp-watch 来完成上述任务。Gulp-watch 无法检测到文件被删除。
google-analytics - oo.load 抛出“未定义不是函数”
我正在使用 requirejs、parse.com、list.js 构建一个应用程序,并使用 gulp 为其提供服务。我正在尝试使用 ooCharts 加载谷歌分析图表。
失败的代码写在 html 中的脚本标签中,通过 Parse(Backbone,本质上)视图注入到 DOM 上。失败的代码是:
在我的实际代码中,我确实插入了 api 密钥和 ID 号。
首先,window.onload
根本不会开火。其次,当我开始oo.load()
运行时,我的控制台错误是“未捕获的 TypeError:未定义不是函数”并指向 oocharts.js 第 188 行。oo
(为访问 oocharts.js 中的函数而提供的对象)是全局可用的,并且是在函数运行之前可用,因此视图肯定可以访问oo.load()
我在尝试使用 google embed API 从我的分析中加载图表时也遇到了类似的问题。谁能帮我这个?我相信存在某种冲突,阻止了我现有的代码库(其中大部分不是我编写的)与谷歌分析/oocharts 一起使用,但对于我的生活,我无法弄清楚在哪里。
git - git分支更改时如何重新启动gulp watch
使用任务让gulp构建文件很有用。watch
在我的例子中,我有一个任务,它监视一个php
目录的更改和更改时的 lints/副本,一个连接和复制的 JS 目录,以及一个在更改时编译为 CSS 的 SASS。
如果我在运行 watch 任务的情况下签出另一个 git 分支,那么预计会发疯,因为实际上有数百个文件发生了变化。一个可以解决的问题是watch
触发了通用任务——例如 PHP 任务只是简单地重新整理和复制所有 PHP 文件,而不仅仅是更改的那个。因此,如果 50 个文件发生更改,整个堆栈将重新 linted 50 次。同样适用于 JS(因为依赖项)和 SASS(因为它运行 compass,然后它也会看到每个文件都已更改)。
所以目前我的解决方案是终止我的watch
任务(使用Sublime Gulp运行),然后签出一个新分支,然后重新运行它。我想任何解决方案都需要修改Sublime Gulp
插件,或者阻止我使用它 - 如果有一个快速的快捷方式可以让watch
任务在我的终端后台运行并允许我查看输出但不要强迫我。
我知道 git 有钩子,所以我想另一种解决方案可能是让结帐钩子生成一个文件,该文件可以作为监视任务的临时停止标志,或类似的东西。
任何人都遇到过类似的问题watch
,您建议如何解决?
javascript - 一个 gulp 任务文件 pr 主题
想知道实现这一目标的最佳方法是什么。
我的网络应用程序中有多个主题,比方说:
而且我不想编写一个处理所有这些的大 gulp 文件。相反,我希望能够只写gulp theme_one
,这将自动运行与该主题相关的所有 gulp 任务。
我意识到我真正在做的是为gulp --gulpfile themes/theme_one/gulpfile.js
我在想一个像这样的根 Gulpfile.js:
我看到虽然 gulp.run 已被弃用。我应该如何重组它以避免使用 gulp.run?
unit-testing - 将 gulp.watch 与 browserified karma/jasmine 单元测试一起使用会因错误而失败
我在gulp.watch 遇到了这个错误。本质上,当测试单元因错误而失败时,watch 命令会挂起——即只运行一次,然后 watch 不会再次触发事件。
规定的解决方法是使用gulp-plumber来防止错误退出。但是,这仅适用于流。如果我与 browserify 一起运行业力测试,我的配置看起来与此类似(我无法确定如何将流挂钩到这个坏男孩以启用管道工):
有没有人有一个解决方法来运行带有手表的测试单元或关于我如何让它与 gulp-plumber 一起工作的建议?
node.js - Gulp 保存问题
多年来一直使用 gulp,主要用于管理我的 sass 文件。直到今天一切都运行良好,直到最近任务正在运行,但它们的输出没有被保存/写入。
我有一个正在监视的 scss 文件,如果它被更改,它会通过 gulp-ruby-sass 运行(即使使用 gulp-sass 也会出现同样的问题),然后在指定的目录中吐出,但这并没有发生。我收到一条通知,让我知道它运行了,但是没有输出任何内容,并且出于某种奇怪的原因,如果从我的 PHPStorm 窗口切换到 iTerm,它们会神奇地出现。
还有其他人经历过吗?我现在真的把头发扯掉了,因为我不知道出了什么问题。
干杯。
javascript - gulp watch 两次将文件复制到不同的位置
从昨天开始,我的 gulp-watch 任务开始发生一些奇怪的事情。Afaik,我所做的只是更改目的地,但我可以使用下面发布的简单 gulpfile 进行重现:
我有这样的文件结构:
每当有更改时,我希望它反映在构建文件夹中,但是当我运行gulp watch:stuff
以下命令时,我得到以下输出:
- 那个额外的
build/stuff/file.html
文件是从哪里来的? - 我的手表功能出了什么问题?
吞咽文件
使用 gulp(3.8.8)、gulp-watch(0.7.0)
javascript - Gulpfile 不看 scss
我有一个简单的 gulpfile,它从 json 文件加载 javascript 对象(以获取基于环境的路径),编译我的 scss 文件,将它们移动到我的公共目录,并将任何 javascript 文件移动到公共目录。
所以我在 /app/Http/assets/js 和 scss 中的资产被编译并移动到 /public/assets/js 和 css
这是我的 gulpfile.js:
这对我的 javascript 工作正常。此外,当我第一次运行“gulp”时,它会编译我所有的 scss 文件并相应地移动它们。但是,监视任务不适用于我的 scss 文件。它确实适用于 javascript 文件。(对我来说)真正奇怪的是,当我将我的 scss 源更改为特定文件时,手表可以工作。所以,
将监视并编译对我的 app.scss 文件的任何更改,但显然不会对任何其他 scss 文件进行更改。
我已经重新安排并搜索了所有我能做的。我不明白为什么它不适用于观看 scss。
编辑:奇怪的是,似乎通知正在破坏 css 观察者。当我这样评论它时:
一切都按预期工作。
提前致谢。
node.js - 启动带有 Gulp “连接”的 Node.js 服务器在实时重新加载时中断(带有 html5 模式的 Angular 应用程序)
我正在尝试解决一个困扰我一段时间的问题。
场景:
问题是当我使用 Gulp 通过 Live Reload 启动本地服务器时。它可以很好地启动我的 Angular 应用程序,但是当我进行文件更改时,Live Reload(页面刷新)会破坏我的应用程序并给我一个“CANNOT GET”,因为我的 server.js(节点服务器)文件有一种特殊的重定向方式用户到我的“index.html”文件。原因是我在 Angular 应用程序中启用了“HTML5 模式”(对于漂亮的 URL),我必须在 server.js 文件中指定它才能正常工作。
在我在我的 Angular 应用程序中打开“html5 on”之前,一切正常,但由于特殊的重定向,我的 Gulp.js 文件没有正确写入以意识到这一点。
但是,如果我运行“node server.js”,角度应用程序会按预期工作并刷新页面,当我开发时遇到这个问题会很烦人。
问题:
- 如何编写我的 gulpfile.js 以正确运行 server.js 文件?
- 有没有更好的方法来编写我的 server.js 文件?
- 是否可以一次运行多个端口(开发模式和生产模式)?
(我省略了一些文件夹和文件,以使其更容易看到)
文件结构:
根
- 构建(角度生产应用程序)
- 前端(角度开发应用程序)
- gulpfile.js (任务运行器)
- server.js (节点服务器)
Server.js(节点服务器)
Gulpfile(“连接”从第 67 行开始)
角应用
索引.html
在此先感谢您的帮助!
regex - 尝试与朋友分享 Gulp 项目
我做了一个 gulp 项目,我正在尝试与朋友分享。它是一个简单的 CSS 网格,集成了 gulp 任务。
你可以在这里下载包: https ://www.dropbox.com/s/od1dsh75tegbq24/projectfolder.zip?dl=1
当您解压缩包并确保已安装 node.js、ruby 和 gulp.js 并尝试运行 gulpfile 时,它会引发以下错误:
在我安装之后(npm install --save semver-regex)它会抛出同样的错误:
在我安装之后,构建过程可以工作,但是 liveReload 和 watch 任务不会......
有没有一种方法可以轻松共享 Gulpfile?我只想下载和使用它:)
Package.json 位于根目录中: