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

gruntjs - Grunt 任务可以从运行它们的文件夹“向上”导航吗?

我正在尝试构建我的资产,以便多个项目可以共享构建脚本的“阶段”。例如,如果我有 3 个都使用 Bootstrap 和 jQuery 的基于 Web 的产品,我只想从共享的“库”中获取库。

建议文件夹的结构如下:

我希望每个“app”文件夹中的 Gruntfile.js 能够“导入”或以其他方式执行sharedGrunt.js. 我还没有跨过那座桥,因为我被困在第一个概念验证测试中:一个简单的副本。

因此,在应用程序的一个Gruntfile.js文件中,我有一个如下所示的复制任务:

如您所见,我尝试从 Gruntfile 上一层。这是包含“shared”、“app1”和“app2”的目录。然后向下导航到共享库文件夹以获取 jQuery。

任务“成功”(没有抛出实际错误),但没有文件被复制。

我怎样才能实现我的目标?我是否需要将“包罗万象”的 gruntFile 放入包含所有项目的“父”文件夹中?我不希望开发人员要求检查整个父母。我希望开发人员能够检查“app1”和“shared”并使用它运行。

0 投票
1 回答
754 浏览

javascript - 通过 forEach 循环 grunt 任务以复制具有数组长度的任务

无法使用 Grunt JS 任务运行器获得正确的解决方案,所以这是我的问题。

目标:多次重复一项任务。次数是数组的长度。在数组中,我使用“名称”来构建路径(源和目标)以在文件夹中复制文件。

我正在尝试使用复制任务( grunt-contrib-copy )。

我能够将数据获取到复制任务但不在正确的位置:src 有时是空的,有时是错误的。对于 dest 文件夹也是如此。

我怀疑我的 Javascript 有问题,或者无法实现(将这些参数传递给 grunt 复制任务或其他任务..)

0 投票
3 回答
13996 浏览

node.js - 当我运行 Grunt 时,我收到以下消息:找不到本地 npm 模块“grunt-contrib-copy”。安装了吗?

我一直在尝试安装 Grunt。当我运行 grunt 时,我会收到以下消息和警告列表:

我试过“npm install”、“npm install grunt --save-dev”、“grunt init:node”。解决问题;它没有用。任何人都可以帮忙吗?谢谢。

0 投票
1 回答
497 浏览

gruntjs - Grunt 复制完全排除文件夹(不仅仅是内容)

[编辑:已解决,请参阅下面的答案]

我想运行一个任务,它将所有内容从一个目录(源目录)复制到另一个位置(分发目录),但一个文件夹除外。换句话说,给定结构:

我想移动“图像”但没有“图标”,产生以下内容:

但是,我得到的是:

我已经查看了关于 SO 的以下问题:

grunt (minimatch/glob) 文件夹排除

grunt-contrib-copy - 复制时忽略文件夹

配置 grunt 复制任务以排除文件/文件夹

但是我的语法有问题。我使用了各种 globbing 模式,最接近的成功(适用于任意数量的不同 globbing 模式)是在目标位置创建文件夹,但其中没有任何文件。

这是我认为与此答案中接受的答案或多或少相同的内容:

但它会导致一个空的“favicons”目录。

这是我尝试过的许多模式中的至少一种,它也导致了一个空的“favicons”目录。这对我来说最有意义,因为我说的是“复制所有内容”,然后是“除了网站图标”。我不需要为排除匹配使用通配符,因为我知道我有一个名为 favicons 的目录。我还尝试了以下前导斜杠和尾随斜杠(不带通配符)的组合:

0 投票
2 回答
36 浏览

gruntjs - 复制多个文件夹时出现问题

我对 grunt 很陌生,所以我需要一些帮助。

我在官方上问过这个问题,gruntjs/grunt-contrib-copy但没有得到回应。

我想使用grunt-contrib-copy从某个目录复制文件到另一个目录,它们看起来像这样:

我的 gruntfile 是这样配置的:

当我运行父任务时, /assets/sass/bootstrap 文件夹被正确复制到他的命运中。部分文件也是如此。

但是由于某种原因,所有其他文件夹都没有被复制,我没有收到任何错误!

运行 grunt parent --verbose 我得到了这个:

任何人都知道我在这里做错了什么?

谢谢!

0 投票
1 回答
1185 浏览

gruntjs - 在 Grunt 中按顺序运行任务

我的印象是,在 grunt.registerTask(taskName, taskList) 中,taskList 将按顺序运行(即一个完成,然后再进入下一个)。我想不是这样吧?

鉴于此任务:

在运行副本之前,如何确保 concat/ngconstant/targethtml 完整?我遇到了问题,因为 ngconstant 在 concat 完成之前正在运行。

编辑:任务未按顺序运行的详细信息。

'concat:local' 创建一个被 'ngconstant:common' 使用的 aggregate.json 文件。如果我删除现有的 aggregate.json 文件,则 ngconstant:common 任务会出错,因为 aggregate.json 文件丢失(但文件确实在 ngconstant 运行后创建)。另外,如果我不删除文件,而只是进行更改,例如更改 concat 使用的源文件中的版本号,则 ngconstant 创建的文件不会接受更改,因为它不会等到新的聚合。 json 是由 concat 创建的。

编辑2:任务代码

0 投票
0 回答
67 浏览

javascript - 如何在每个目录中复制单个文件

我想配置和执行一个任务,递归地复制每个目录中的指定文件。具体来说,如果不存在,我希望将“index.php”复制到我的 Web 项目的每个目录和子目录中。我试过使用multidestcopymultidest似乎不允许通过通配符指定路径(太糟糕了!)。我怎么能解决这个问题?谢谢

0 投票
1 回答
54 浏览

node.js - 应该省略的 grunt 自定义任务复制文件

grunt copy定义了一对任务:

并将它们组合在自定义任务中

modules文件夹内,我想复制所有内容但scss文件。当我运行时grunt copy:develop,这具有我期望的行为,除了*.scss复制之外的所有文件。但是,当我运行时grunt copy_dev,所有内容modules都会被复制过来。

这是输出的一部分grunt copy_dev --verbose

如您所见,*.scss执行自定义任务时会复制许多文件,而它们不会通过常规copy:$name调用进行。

为什么是这样?

0 投票
1 回答
35 浏览

bower - Grunt 和 bower 自动依赖

我正在为我的网络应用程序使用 bower 和 grunt,到目前为止,我在尝试将资源导入 dist/ 目录时遇到了一些问题。我正在使用材料设计图标,但我只需要其中的几个。到目前为止,我唯一的机会就是手动告诉 grunt 在复制任务中要复制什么。有没有办法只为使用的资源自动完成这项工作?

0 投票
1 回答
50 浏览

windows - 无法使用 grunt 从 Windows 复制到 OSX

试图将文件从远程 Windows 10 计算机复制到 OSX。

这一切过去几年都可以正常工作,在过去的几个月里,它已经停止工作了。可能是在我将远程主机升级到 Win10 的时候,但不能确定。

尝试执行以下 grunt 任务:

...失败并出现以下错误(注意 EINVAL 等同于 *nix 世界中的“无效参数”):

有趣的是它正确地遍历树并找到没有问题的源文件,但随后以失败的副本响应。

如果我删除任何子目录,一切正常:

有什么想法,或者下一步要调试吗?