问题标签 [grunt-contrib-copy]

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 回答
459 浏览

javascript - Grunt-contrib-copy:重命名函数中的变量

我有以下复制任务gruntfile.js

目前,该文件已成功复制,但一旦复制,我想删除构成文件名一部分的版本号。

它们在 gruntfile 的前面定义,并且在 rename 函数之前按预期工作。

我得到的电流file_1.123.css,我想以file.css.

我尝试了各种不同的方法将变量传递给重命名函数,但没有成功。

谢谢。

0 投票
1 回答
307 浏览

javascript - 如何告诉 Lineman 将所有文件从 /dist 复制到不同的目录?

当我运行它时,它会在目录lineman build中生成所有缩小的 CSS 和 JS 。/dist我不知道如何让它将这些缩小的文件复制到不同的目录中(路径中的我的公共目录 - ../lib/app/public)。

我的 Lineman 配置文件如下所示。

我知道copy:distLineman 中有一个默认任务,但不确定它是如何工作的,并且无法从http://linemanjs.com/的文档中正确理解它

0 投票
2 回答
578 浏览

gruntjs - 用于进程选项混淆的 grunt-contrib-copy 语法

我试图在复制时替换不同文件中的一些占位符。我的 gruntfile 工作正常,但添加了进程选项来进行替换,它只是不工作。以下是我的 gruntfile 的相关部分:

这些路径可以在 GitHub 上的代码上下文中理解:https ://github.com/pilau/starter (公共目录未提交到 repo,因为它是一个入门主题)。这些路径是我原始 Gruntfile 中的变量,并且在所有其他任务中都可以正常工作。

所有的变量都设置好了。我已经包括console.log( content )检查进程函数是否实际运行 - 它似乎没有,所以我猜它是基本语法。

有一个答案(https://stackoverflow.com/a/28600474/1087660)似乎解决了这个问题,但据我所知,这样做只是糟糕的 JS 语法 - 不确定它是如何被标记为正确的。

--verbose运行复制任务的输出:

0 投票
1 回答
432 浏览

regex - 如何选择所有文件,但排除目录中的特定文件扩展名

我想复制文件夹中的所有文件,但我想在子文件夹中排除特定的文件扩展名。我怎样才能做到这一点?

这是我的代码片段:

注意:这里我想复制所有文件,但我想排除angular子文件夹中的(.js)文件。

有什么想法吗?谢谢

更新 - 答案

基于 Raptis Dimos 所说的包含和排除顺序很重要。所以我把包含放在第一位,最后是排除。

0 投票
1 回答
88 浏览

gruntjs - 为什么 grunt-contrib-copy 用相同的名称写入我的所有文件?

我正在运行 grunt-contrib-copy 将一组图像从一个目录复制到另一个目录。所有文件都被复制,但每个副本都使用队列中第一个文件的名称写入,所以我最终只得到一个文件。

这是我的配置:

这是运行命令后我的 CLI 的详细输出:

为什么不使用原始名称写入文件?

0 投票
1 回答
404 浏览

foreach - 如何在从 forEach 内部调用的 Grunt 任务中使用动态值?

我们正在尝试使用 grunt.config.set 为动态连接的字符串运行 grunt 任务。这些 grunt.configs 在 forEach 循环中设置,并且每次在任务运行之前都会更改。

不幸的是,这不起作用,因为 grunt 只使用最后一个 grunt.config.set 并以相同的值多次运行它。

用一个简单的“复制”任务看这个例子(“复制”只是一个例子,我们也想在其他任务中使用这种动态选项):

此任务将 src/directory4 复制四次。

是否有可能构建使用动态值的那种任务?这会很好,因为唯一的其他解决方案是使用静态字符串多次复制每个任务。

谢谢!丹尼尔

0 投票
1 回答
897 浏览

gruntjs - 具有权限的 grunt.file 写入/复制

有没有办法在 grunt.file.copy(...) 期间指定文件的权限,除了在复制完成后使用“fs.chmod”?

否则,我将不得不要求整个“fs”模块,只是为了更改权限。开销会很大吗?

0 投票
1 回答
266 浏览

javascript - grunt-contrib-copy 将目录复制到另一个没有根目录的目录

我正在尝试复制这样的结构:

但是,如果没有 src 目录本身出现在 dest 目录中,我似乎无法完成此操作。IE

我的副本配置设置如下:

我已经尝试过从 dest 中删除“src”目录的 flatten 选项,但它也删除了其他目录并将每个文件放在 dest 的根级别。

我尝试将“cwd”设置为目标目录和源目录,但这似乎只是阻止了复制。

我确信必须有一个允许这样做的选项,但我还没有找到它。有人有想法么?

0 投票
2 回答
681 浏览

javascript - 如何默认跳过 Grunt 目标

我正在定义一个具有多个任务和目标的 Grunt 项目,使用 task build,我想运行一些复制目标,然后使用 task deployment,我也想运行copy一些其他目标(仅将文件夹复制到特定目录以进行部署例如),我不想在build任务中执行这个目标。

那么我怎样才能跳过这个 Grunt 目标build

这是我的例子

0 投票
1 回答
125 浏览

angularjs - Yeoman/gruntjs angularjs 和文件夹中带有 html 文件的指令

我正在yeoman用作维护应用程序的工具。由于我有很多指令,因此我没有使用yeoman生成指令的标准方式,因此scripts/directive/name.js对于代码和views/template_directive.html模板。

相反,我这样做了: scripts/directive/my-directive在里面我有jsandhtml文件。 这里是截图

现在,当我serve一切正常时,当我运行build. 指令的js最终在vendor.js但 html 页面仍然指向scripts/directive/my-directive/template_directive.html不是 dist 的一部分。

我应该(可能,如果有比欢迎更好的选择)做的是:

  • 复制html到视图文件夹中
  • 更改指令的js中的引用

或者

  • 找到一种方法将html文件也放在 dist 的同一文件夹中(重新创建所有/directives/<directive>/<template>.html

问题是:

  • 什么是“正确”的解决方案
  • 在 gruntjs 中更改以使其工作的命令是什么。