问题标签 [gulp-rev]

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 投票
1 回答
1509 浏览

javascript - Gulp 任务不等待上一个任务的完成

我有一个 gulp 任务,它使用流来编写修改后的文件(使用gulp-rev)和另一个任务,它使用先前编写的清单文件来替换 html 文件中的变量。

我的第一个任务:

上一个任务将编写一个名为“app-34f01b9d.js”的文件和一个清单文件“appjs-manifest.json”,其中包含:

理论上,我的第二个任务应该等待第一个任务完成后再开始:

任务应读取清单文件并将“app-34f01b9d.js”替换为车把模板中的变量{appjs}},生成文件“index.html”。

发生的情况是 javascript 文件和清单文件已正确写入,但第二个任务执行时无需等待清单文件被写入,因此获取了错误的清单文件内容(先前执行的内容之一)。

0 投票
2 回答
756 浏览

gulp - 如何使 gulp-newer 与 gulp-rev 一起工作?

设置很简单:

gulp-newer 显然在这里不起作用,因为目标文件的名称不同。在这种情况下,任何使 gulp-newer(或 gulp-changed)工作的解决方法?

0 投票
1 回答
773 浏览

gulp - 浏览器同步 css 注入不适用于缓存破坏的 css 文件

我正在使用 gulp-rev 缓存我编译的 scss 文件。这意味着 css 注入仅在我不更改 css 文件中的任何内容时才有效。如果我改变任何东西,gulp-rev 会给文件一个不同的名字,browserSync 不会知道注入它。这是我的 gulpfile 中的 scss 任务:

0 投票
2 回答
6539 浏览

javascript - 使用 gulp-rev 后如何将修订后的文件包含到 .html 中?

所以我在 gulp 中创建了这个任务:

它会创建像这样命名的附加文件,例如: script-7c58e79612.js

但是我如何将它包含在我的 html 文件中而不是script.js? 因此,例如,而不是我的这一行file.html

我可以有这个:

0 投票
3 回答
1585 浏览

hash - Gulp-rev 用生成的哈希替换文件

我开始使用 Gulp,我想创建一个任务,用哈希重命名文件(js,css),然后将它们注入到 html 中。

我实际上有两个函数可以做我想做的事,但我不知道如何删除旧文件并只保留新的 js 和 css 散列文件。

有人可以给我一个提示吗?这是我现在的代码:

obs: 'config' 变量具有文件夹位置

0 投票
0 回答
448 浏览

gulp - 在使用 gulp-rev-replace 时需要帮助

我试图在我的 index.html 中替换两个脚本文件名的名称和一个样式文件名,并使用 gulp-rev 用哈希更改更新文件的名称,并使用 gulp-rev-replace 进行实际替换。不过,我正在撞墙。Gulp-rev 运行良好,生成了一个带有唯一哈希的修改后的文件名,我还看到了一个 rev-manifest.json 文件。没有发生的是构建时 index.html 文件中的替换。我已经包含了我正在运行的 gulp 任务之一的示例。我不确定在 revReplace 调用中我在哪里搞砸了。任何帮助将不胜感激。

0 投票
2 回答
1499 浏览

javascript - 无法让 gulp-rev-replace 与 gulp-useref 一起使用

继续我之前的问题- 但这次是下一步:让文件修订工作。

我正在学习 johnpapa 的 Gulp 自动化课程,似乎遇到了另一面墙(当您尝试将简明课程改编为不同的文件结构时,您会得到这样的结果:P)。

基本上,问题是我确实得到了用修订命名的文件,但是这些名称没有进入最终结果test.jsp,我不知道为什么......

这是任务(为简洁起见省略了缩小,但它适用于文件修订):

inject是将 css 和 js 引用注入索引文件的任务(正常工作),$isrequire('gulp-load-plugins')({lazy: true})config.indexFileis index.jsp

replaceDirectory函数是(使用,因为 rev-manifest 生成完整路径名):

我的文件结构(与课程中的不同)是:

基本上,index.jsp 针对 CSS 和 JS 库和应用程序资产进行处理,这些资产被缩小并连接成 lib.css、lib.js、app.css 和 app.js。之后,所有这些都被注入到名为 test.jsp 的 index.jsp 的副本中。

资产收集、连接、注入工作和磁盘上的文件修改工作出色。文件名的更新test.jsp- 不是那么多......

任何想法或指针将不胜感激。

0 投票
1 回答
509 浏览

javascript - 对子文件夹中的 HTML 文件进行 gulp-rev-replace

我想知道如何让 gulp-rev-replace 用子文件夹中的 HTML 文件中的相同哈希替换文件引用。考虑以下文件结构

  • 索引.html
  • 子文件夹
    • 索引.html
  • 脚本
    • main.js
  • 风格
    • 主文件

以及以下 html 语句:

索引.html:

子文件夹/index.html:

以及我的 Gulpfile 中的以下内容

样式链接块index.html将被正确的缩小和散列样式表引用替换。相反,相同的块subfolder/index.html将获得完全不同的散列样式表引用。但是,它确实使样式表的路径正确。

我是否错误地设置了我的 Gulpfile?

0 投票
1 回答
73 浏览

gulp - Gulp 任务不能按顺序工作

我有 4 个任务来清理构建、构建样式和 JavaScript 以及创建资产清单。我的默认任务如下所示:

所以,这很完美,但“版本”任务。它不会创造任何东西,也没有效果。

如果我运行gulp clean; gulp styles; gulp scripts; gulp version;,版本任务将创建所需的资产清单。

这是运行默认任务的输出:

有人看到我犯的错误吗?当我运行版本任务时,也许构建资产还没有,但这就是我让任务按顺序运行的原因。

有什么建议我可以解决这个问题吗?

0 投票
1 回答
1815 浏览

gulp - Gulp-rev-all 留下旧的修订文件

我的gulp-rev-all任务有问题。每次我更改代码时,它都会生成一个新的修订文件,但将旧的保留在那里。

这是我的吞咽任务:

所以,这就像一个魅力。它会给我一个带有 rev 的文件(如:)scripts.0ad8ecf1.js和一个manifest.json文件。挑战在于,每当我更改代码时,它都会生成一个scripts.js具有不同哈希的新文件,而不是覆盖或删除旧文件。所以,我的文件夹现在看起来像这样:

我似乎无法用新文件替换旧文件。任何人都可以帮助我或为我指出正确的方向来实现这一目标吗?