问题标签 [gulp-rename]
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 脚本来操作主 html 文件并将其重命名为基于数组的多个名称。这是脚本。
但是只生成了name2.html。谁能告诉我我的代码有什么问题。
path - gulp-exec : 如何根据源文件在命令中注入 dest 文件
我编写了一个 gulp 任务来生成基于以 markdown 格式编写的源文件的 pdf 文件(使用 gulp-exec 插件和一个名为 Pandoc 的命令行工具)。
我的任务如下所示:
它完美地工作,除了 dest 文件具有以下格式:“filename.md.pdf”(如果源文件是“filename.md”)。那是因为我在 exec 命令中使用了 <%= file.relative %> ,它实际上存储了源文件的名称(“filename.md”)。
是否可以像这样编写 dest 文件:“filename.pdf”?我尝试使用 <%= file.basename %> 而不是 <%= file.relative %> 但它不起作用。当然,我可以创建另一个任务并重写所有文件,但我想找到一种更优雅的方式。任何想法 ?
谢谢
javascript - 在一个管道中定义的 gulp var 在另一个管道中未定义
我正在使用 gulp 来处理网站的页面,其中一些页面是 php 文件。问题是,在所有页面都通过模板引擎运行之后,它们具有.html
文件扩展名。我正在向文件添加一个属性,指定它是否应该是除 html 之外的文件,然后重命名文件以匹配。但是,出于某种原因,gulp-rename 一直说我用来存储扩展名的变量是undefined
.
gulpfile.js 中对应的任务:
当我运行上面的错误时Unsupported renaming parameter type supplied
。
我也试过它在同一行有选项 obj rename()
, ext
只存储文件扩展名,例如:.pipe(rename({extname: ext}))
这导致文件未定义添加为扩展名(而不是phpfile.php
下面的md
文件将被命名phpfileundefined
)
phpfile.md 中的 yaml
包.json
gulp - Triggering separate gulp tasks for subfolders in different paths
I am using Gulp to store multiple SVG files into SVG storages which are later reused in order to maximize performance. However, I am now using a rather interesting folder structure where the paths contain interchangeable fixed and dynamic parts.
Let me illustrate. Here is the folder structure I am using. The app/images/products
folder contains folders named productA
, productB
etc. which again contain a subfolder called color-sprites
full of SVG files ready to get combined into a single file and stored in build/images/products/{product name}/color-sprites.svg
.
Here is a simplified version of the code I am trying to use to accomplish what I need (take note that rename
is an instance of gulp-rename
).
The problem is that I am not exactly sure how to access current stream parameters in order to construct a target with gulp-rename
because running the gulpfile.js
like this results in taking the first parent element of the path before *
or **
which again results in creating a file called products.svg
in build/images/
. I've seen a couple of examples which use path
to access the basename, relative path etc. but I am not sure how to use it in the context of gulp streams.
node.js - Gulp Rename 非法操作
我的 gulp 文件如下所示:
[11:59:18] 错误:EISDIR:对目录进行非法操作,打开“...基目录...\aurelia_project\aurelia.json”
基本上,我有一个目录aurelia.login.json
,我想将其复制并重命名到aurelia.json
同一目录中。
javascript - Gulp-rename:获取原始文件路径
我正在使用gulp-rename重命名文件。
我想从几个目录中获取文件并将它们放入带有一些后缀的输出目录中。
此后缀取决于原始目录名称:
['/dir/a/style.css', '/dir/b/style.css', '/dir/c/style.css']
=>['/output/style_a.css', '/output/style_b.css', '/output/style_c.css']
我做这样的事情:
方法rename
为每个文件迭代回调。
此回调将对象path
作为参数,它包含dirname
属性。
但 path.dirname
具有价值'.'
,而不是像'/dir/a/style.css'
.
所以,我的问题是如何在rename
回调中获取初始文件路径?
html - 用 Gulp 任务替换 CSS url
我尝试使用 Gulp 替换 index.html 中 CSS 文件的路径。问题是我有多个主题名称不同的项目,并且分发包中源文件的路径不同
索引.html
在我的分发包中,主题被复制到src\projects\project\app\style\themes下
dist/index.html
这是使用 gulp-find 在 index.html 中查找 url 的尝试:
那行得通,我在目标文件中得到了值。但是是否可以将此值与 gulp-replace 一起使用来更改 HTML 文件中的值?
我也尝试过类似的东西:
但 index.html 中的值是:
gulp - 使用 gulp-clean-css 和 gulp-rename 以 .min.css 前缀缩小和重命名,但 gulp 会删除 style.min.css 文件
所以,下面是我的整个 gulp 文件。我的样式/src 文件夹中有一个 style.css,我希望 gulp 在我的样式/dist 文件夹中输出一个 style.min.css 文件。gulp-clean-css 生成缩小文件,gulp-rename 添加 .min 后缀。
当我有一个空的 dist 文件夹并运行 gulp 时,它成功地在 dist 中创建了缩小的 css 文件,但随后对 style.css 的每次编辑(由观察者监视)都会导致 min 文件被擦除,并且此后永远不会正确填充。
为了进一步增加混乱,我将 Atom 用于我的 IDE,当我在 Atom 中进行编辑时,gulp 将清除 .min 文件以清除任何不是初始编辑(创建 .min 文件)的编辑,但是如果我在 CLI 上使用 nano 进行所有编辑,则 .min 文件每次都会正确填充。也许我应该找一个新的IDE?
gulp - Gulp dest 在同一级别 src
我正在尝试做一个 gulp 任务来同时编译很多模块。我的路径是...
我需要完成 wirh gulp 是:
我的 src 看起来像这样:Gulp.src(./packages/*/src/**/*.js)
这是获取正确的文件,但我无法将 Gulp.dest() 放到正确的位置!
编辑
经过更多搜索后,我使用 gulp-folders 和一个简单的地图来完成这项工作。
module - 模块化应用程序的动态 gulp.dest 路径
我正在尝试为模块化应用程序设置 gulp。在我的公用文件夹中,我有模块,每个模块都有自己的src/sass
和dist/css
文件夹。我想将 sass 文件转换并传输src/sass
到它们各自的dist/css
文件夹。src/sass
在like下也可能有更多文件夹src/sass/admin
,src/sass/user
其中包含 .scss。这些文件夹结构也应该dist/css
像这样复制:dist/css/admin
和dist/css/user
. 这些附加文件夹取决于模块。
问题是可以删除和添加模块,所以我不想直接在gulp.dest
路径中引用模块名称。我需要它是动态的,具体取决于gulp.src
路径。
假设我有一个如下所示的文件夹结构。
这是我尝试过的 gulp 任务。
1.使用path.join
2.使用重命名
我不确定要写什么而不是“???”。我已经尝试了多种变体'../../../dist/css'
,这一切似乎都在尝试将我的 css 文件传输到类似的东西,public/Modules/Module1/dist/css/Module1/src/sass
或者dist/public/...
到目前为止没有任何效果。
在发布此内容之前,我已经检查过 StackOverflow,但我找不到我需要的确切内容。
谢谢您的帮助!