问题标签 [gulp-cached]
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-remember 似乎输出了错误的路径
[使用 gulp 3.9.0、gulp-cached 1.1.0、gulp-remember 0.3.0、gulp-rename 1.2.2]
我们使用 gulp 作为构建工具,并将 gulp-cached 与 gulp-remember 一起使用,以允许快速增量重建。构建下的部分文件必须移动到不同的输出目录,这必须在流中发生(即不在 gulp.dest() 中),因为我们在之后压缩结果。我们为此使用 gulp-rename。
但是,当多次调用构建脚本(gulp.watch() 用于增量重建)时,它似乎会多次应用 gulp-rename 转换。看起来 gulp-remember 实际上并没有使用上次看到的路径输出文件,而是使用 gulp-rename 步骤之后获得的路径。
我已将问题缩小到以下脚本:
在只有一个文件“myfile.js”的源目录 src 上运行它会生成输出文件:
如果第二次调用 build() 被删除,它会正确生成
如果我们插入对 build() 的第三次调用,它会产生
我们如何解决这个问题?gulp-remember 不应该在文件被进一步处理之前用它们上次通过文件时的路径输出文件吗?
gulp - gulp:仅传递管道中更改的文件
我尝试对文件进行排序,在某些文件中替换文本并仅保存更改。在我当前的代码gulp-changed
中什么都不做。
更新:gulp-cached
我自己几乎解决了这个问题,但在我下面的答案中有一个小问题。
node.js - 仅当文件使用 gulp 更改时才编译 sass
我正在尝试重建我的 gulp 文件以提高效率,但我在让我的styles
任务仅在文件已更改时才进行编译时遇到了一些麻烦。
我找到了这个问题,但答案似乎对我不起作用。
假设我的仓库是这样组织的:
all.css
如果我的任何一个 Sass 文件发生更改,我只想覆盖。因此,如果我在哪里保存_header.scss
但没有进行任何更改,并运行我的styles
任务,它应该意识到代码没有更改并且没有覆盖all.css
。
根据我上面链接的问题,我正在查看gulp-cached,但这似乎对我不起作用。这是最基本的任务:
在这种cached
情况下,管道似乎不起作用。我运行gulp styles
它仍然会覆盖 all.css,即使没有进行任何更改,即使我什至没有重新保存文件。
我最终想要使用的更复杂的任务是:
非常感谢对此的一些指导。非常感谢。
编辑 1:请注意,all.scss
在此演示中仅包含@import "_header";
.
编辑2:好的,我刚刚发现这gulp-cached
似乎在一项watch
任务中工作正常。所以修改了问题:我怎样才能在监视任务之外获得这种相同类型的功能?