问题标签 [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.
javascript - Gulp 任务不等待上一个任务的完成
我有一个 gulp 任务,它使用流来编写修改后的文件(使用gulp-rev)和另一个任务,它使用先前编写的清单文件来替换 html 文件中的变量。
我的第一个任务:
上一个任务将编写一个名为“app-34f01b9d.js”的文件和一个清单文件“appjs-manifest.json”,其中包含:
理论上,我的第二个任务应该等待第一个任务完成后再开始:
任务应读取清单文件并将“app-34f01b9d.js”替换为车把模板中的变量{appjs}},生成文件“index.html”。
发生的情况是 javascript 文件和清单文件已正确写入,但第二个任务执行时无需等待清单文件被写入,因此获取了错误的清单文件内容(先前执行的内容之一)。
gulp - 如何使 gulp-newer 与 gulp-rev 一起工作?
设置很简单:
gulp-newer 显然在这里不起作用,因为目标文件的名称不同。在这种情况下,任何使 gulp-newer(或 gulp-changed)工作的解决方法?
gulp - 浏览器同步 css 注入不适用于缓存破坏的 css 文件
我正在使用 gulp-rev 缓存我编译的 scss 文件。这意味着 css 注入仅在我不更改 css 文件中的任何内容时才有效。如果我改变任何东西,gulp-rev 会给文件一个不同的名字,browserSync 不会知道注入它。这是我的 gulpfile 中的 scss 任务:
javascript - 使用 gulp-rev 后如何将修订后的文件包含到 .html 中?
所以我在 gulp 中创建了这个任务:
它会创建像这样命名的附加文件,例如:
script-7c58e79612.js
但是我如何将它包含在我的 html 文件中而不是script.js
? 因此,例如,而不是我的这一行file.html
:
我可以有这个:
hash - Gulp-rev 用生成的哈希替换文件
我开始使用 Gulp,我想创建一个任务,用哈希重命名文件(js,css),然后将它们注入到 html 中。
我实际上有两个函数可以做我想做的事,但我不知道如何删除旧文件并只保留新的 js 和 css 散列文件。
有人可以给我一个提示吗?这是我现在的代码:
obs: 'config' 变量具有文件夹位置
gulp - 在使用 gulp-rev-replace 时需要帮助
我试图在我的 index.html 中替换两个脚本文件名的名称和一个样式文件名,并使用 gulp-rev 用哈希更改更新文件的名称,并使用 gulp-rev-replace 进行实际替换。不过,我正在撞墙。Gulp-rev 运行良好,生成了一个带有唯一哈希的修改后的文件名,我还看到了一个 rev-manifest.json 文件。没有发生的是构建时 index.html 文件中的替换。我已经包含了我正在运行的 gulp 任务之一的示例。我不确定在 revReplace 调用中我在哪里搞砸了。任何帮助将不胜感激。
javascript - 无法让 gulp-rev-replace 与 gulp-useref 一起使用
继续我之前的问题- 但这次是下一步:让文件修订工作。
我正在学习 johnpapa 的 Gulp 自动化课程,似乎遇到了另一面墙(当您尝试将简明课程改编为不同的文件结构时,您会得到这样的结果:P)。
基本上,问题是我确实得到了用修订命名的文件,但是这些名称没有进入最终结果test.jsp
,我不知道为什么......
这是任务(为简洁起见省略了缩小,但它适用于文件修订):
inject
是将 css 和 js 引用注入索引文件的任务(正常工作),$
isrequire('gulp-load-plugins')({lazy: true})
和config.indexFile
is index.jsp
。
该replaceDirectory
函数是(使用,因为 rev-manifest 生成完整路径名):
我的文件结构(与课程中的不同)是:
基本上,index.jsp 针对 CSS 和 JS 库和应用程序资产进行处理,这些资产被缩小并连接成 lib.css、lib.js、app.css 和 app.js。之后,所有这些都被注入到名为 test.jsp 的 index.jsp 的副本中。
资产收集、连接、注入工作和磁盘上的文件修改工作出色。文件名的更新test.jsp
- 不是那么多......
任何想法或指针将不胜感激。
javascript - 对子文件夹中的 HTML 文件进行 gulp-rev-replace
我想知道如何让 gulp-rev-replace 用子文件夹中的 HTML 文件中的相同哈希替换文件引用。考虑以下文件结构
- 索引.html
- 子文件夹
- 索引.html
- 脚本
- main.js
- 风格
- 主文件
以及以下 html 语句:
索引.html:
子文件夹/index.html:
以及我的 Gulpfile 中的以下内容
样式链接块index.html
将被正确的缩小和散列样式表引用替换。相反,相同的块subfolder/index.html
将获得完全不同的散列样式表引用。但是,它确实使样式表的路径正确。
我是否错误地设置了我的 Gulpfile?
gulp - Gulp 任务不能按顺序工作
我有 4 个任务来清理构建、构建样式和 JavaScript 以及创建资产清单。我的默认任务如下所示:
所以,这很完美,但“版本”任务。它不会创造任何东西,也没有效果。
如果我运行gulp clean; gulp styles; gulp scripts; gulp version;
,版本任务将创建所需的资产清单。
这是运行默认任务的输出:
有人看到我犯的错误吗?当我运行版本任务时,也许构建资产还没有,但这就是我让任务按顺序运行的原因。
有什么建议我可以解决这个问题吗?
gulp - Gulp-rev-all 留下旧的修订文件
我的gulp-rev-all
任务有问题。每次我更改代码时,它都会生成一个新的修订文件,但将旧的保留在那里。
这是我的吞咽任务:
所以,这就像一个魅力。它会给我一个带有 rev 的文件(如:)scripts.0ad8ecf1.js
和一个manifest.json
文件。挑战在于,每当我更改代码时,它都会生成一个scripts.js
具有不同哈希的新文件,而不是覆盖或删除旧文件。所以,我的文件夹现在看起来像这样:
我似乎无法用新文件替换旧文件。任何人都可以帮助我或为我指出正确的方向来实现这一目标吗?