问题标签 [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 投票
3 回答
1154 浏览

php - 将 gulp 任务与 PHP 视图文件一起使用

这个问题更多的是理论而不是实际。假设我有基于 PHP 框架 Symphony/Zend 的项目,我也使用 gulp 进行前端工作。我想以专业的方式做这个项目,所以我使用 gulp 插件,如jade、clean、uglify、minify、gzip、imagemin 和rev。如果有人不知道这个 gulp-rev 是什么,我们开始吧:

例如,缓存静态文件的好处。

所以,这是一个问题......
我运行 gulp 任务,我得到了以下文件:

完成前端工作后,我想将其放入 PHP 框架的视图文件(phtml 文件)中,例如: layout.phtml

js 文件、图像等也是如此。
几周后我必须更改 CSS 样式中的某些内容,现在怎么办?如何在不需要从 PHP 框架更改 phtml 文件的情况下重新运行 gulp 任务?还是我必须在每个 phtml 文件中手动更改修改过的文件?
如果是这样,那么使用 gulp-rev 之类的插件有什么意义呢?只适用于静态网站?据我所知,没有任何插件可以将jade文件转换为带有PHP标签的phtml

0 投票
1 回答
287 浏览

html - html 避免使用 angularjs stateprovider 和 gulp 进行缓存

我试图避免缓存我的 Html 文件。我尝试过使用 rev 和 rev-replace。结果是仅更改了文件名,但未更改 stateprovider 中的文件引用,因此导致文件未找到错误。

这是我的 config.js 的一部分,它有 stateProvider:

$stateProvider .state('landingPage', { url: "/home", templateUrl: "views/landingPage/landingPage.html", })

这是我的 gulp 文件的一部分:

如何更改 config.js 中的文件引用?

内容不仅在移动设备上刷新(Android 上的 chrome)。我试图在 stateProvider 中手动更改 html 文件的名称,但它也不起作用。

我如何避免浏览器缓存???

谢谢

0 投票
1 回答
316 浏览

angularjs - Apache 2.4 - 对所有文件永不过期,“index.html”除外

我正在为基于 Angular 的 WebApp 使用 gulp-rev-all,我不想修改 index.html。所有其他文件都由 gulp-rev-all 修订,因此它们将在每次部署后更改其名称。如何告诉 Apache 不缓存 index.html(始终从服务器获取 index.html),但在部署新修订之前,我的 WebApp 中的所有其他文件都不能过期?

0 投票
1 回答
71 浏览

javascript - gulp/minify:index.html 在文件名中获得神秘的扩展名,如何利用?

我正在用 gulp 缩小 index.html 文件(注意:接管了这个项目,构建系统已由前开发人员完成)。

一切正常,但是 gulp 任务会生成一个 HTML 文件,该文件有一个神秘的扩展名,例如:

索引-bd2c7f58f0.html

我知道这一定有它的优势,但我不明白是什么...... :)因为现在的缺点是:

  • 节点服务器需要存在index.html文件以允许'/'路由工作。
  • 到目前为止,我要么必须在每次构建时复制文件,要么创建需要在每次构建时更新的链接

我错过了什么?我应该只指示 gulp 创建一个普通index.html文件,还是这里的最佳实践是什么?

此外,各种插件调用中的哪一个实际上负责将该扩展名附加到文件名?

编辑:似乎是 gulp-rev 和 revReplace 调用

这是我正在使用的 gulp 任务:

0 投票
1 回答
291 浏览

gulp - 如何将 gulp-rev 与 file.revHash 一起使用?

从 gulp-rev @ 链接:https ://github.com/sindresorhus/gulp-rev 我写了一个简单的任务

知道如何实现吗?

0 投票
0 回答
173 浏览

javascript - gulp-rev 在目标目录中创建一个目录

首先,我想说 Gulp(对我而言)正在制造更多问题,而不是解决问题。

我写了一个 gulpfile 来连接一些 CSS 文件并将它们放在一个目录中。此任务的代码如下:

它非常简单并且完美运行。

但是,我想对这个生成的文件进行版本控制。所以我写了一个具体的任务来完成它:

问题是:当 Gulp 运行这个任务时,它会在目标文件夹中创建一个文件夹。

运行 Gulp 后,我得到了这个结构:

我真的不知道该怎么办了。我已经为and函数设置了cwdandbase选项,更改了目的地,同步了任务等。没有什么能解决这个愚蠢的行为。destsrc

0 投票
3 回答
2022 浏览

javascript - gulp-rev 与 useref 重命名 index.html 文件以及

我是使用 gulp 的新手,正在尝试为我的项目创建一个 gulpfile。

我的第一个任务是合并 index.html 中存在的所有脚本和链接标签,并仅用一个标签替换它们。为了达到这个目的,我正在使用 gulp-useref,如下所示。

这个东西只是连接和缩小我所有的 JS 和 CSS 文件,并为它们创建一个脚本和链接标签。一切都很好,直到这里。

现在,我也希望对组合的 JS 和 CSS 文件实现散列。为此,我正在使用 gulp-rev 和 gulp-rev-replace 插件,如下所示。

这也很有效,但对于一件小事。它不仅为我的 JS 和 CSS 文件,而且为我的 index.html 文件以及下面的文件创建散列文件名。

在此处输入图像描述

有没有一种方法可以避免重命名 index.html 文件,同时仍然保留 JS 和 CSS 散列文件名,因为我的服务器会在文件夹中查找 index.html 文件而不是 index-******* **.html?

谢谢。

0 投票
1 回答
81 浏览

node.js - gulp-rev-collector 无法重命名我的 flash 文件(扩展名 .swf)

当我使用 gulp 插件gulp-rev-collector时,我已经有了一些 rev-manifest 文件,例如:

"/css/rev-manifest.json", "/js/rev-manifest.json", "/swf/rev-manifest.json", ETC。

但是当我运行下一个任务时

仅更改了 css/js/image 文件的 url,但未更改 swf 文件。我怎样才能达到这些目的?

这是我的原始代码,我的默认任务是“rev”

0 投票
0 回答
751 浏览

html - gulp-rev-all 没有正确替换位于子文件夹中的 html 中的路径

我在尝试在子文件夹中的 html 文件中正确运行 gulp-rev-all 时遇到问题。我目前的网站结构是这样的:

该文件/appsubFolder/index.html具有这样声明的构建标签:

然后在 gulpfile 中,我将任务配置如下:

问题是,一切运行正常,但文件appsubFolder/index.html以如下部分结尾:

代替

尽管在文件夹ContentScripts中,文件出现在那里,其名称上带有哈希值。所以问题是,即使修订功能在文件上运行良好,它也不能正确替换文件中的 html/appsubFolder/index.html 值得注意的是一切都在/index.html.

我应该如何解决这个问题?

0 投票
2 回答
255 浏览

node.js - 将 GULP 与 node.js 集成

我在 node.js 中有一个项目,我想在 GULP 中自动执行一些备份和修订任务。

我能够在终端中成功测试以下 gulp 代码,并且一切正常。当我从 node.js 代码运行 gulp 任务时,问题就出现了。

吞咽代码:

gHelper.json:列出需要修改的文件。其他所有内容都将复制到目标目录。

基本文件夹结构

revback当调用gulp 任务时,live将生成一个文件夹并将其添加到MainFolder. 再次revback调用时,首先backup/{timestamp}将生成文件夹,仅备份修改后的文件,然后对live文件夹进行修改。

让我们看看来自 Node.js 的代码

/* 发布客户端 */

现在问题来了,有时 gulp 任务没有完成,rev-manifest.json 没有在内部的适当位置创建,MainFolder而是在这个 node.js 所在的文件夹的外部创建。

请告诉我如何解决问题,谢谢。


以下是rev-manifest.json的内容: