问题标签 [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.
javascript - Grunt-contrib-copy:重命名函数中的变量
我有以下复制任务gruntfile.js
目前,该文件已成功复制,但一旦复制,我想删除构成文件名一部分的版本号。
它们在 gruntfile 的前面定义,并且在 rename 函数之前按预期工作。
我得到的电流file_1.123.css
,我想以file.css
.
我尝试了各种不同的方法将变量传递给重命名函数,但没有成功。
谢谢。
javascript - 如何告诉 Lineman 将所有文件从 /dist 复制到不同的目录?
当我运行它时,它会在目录lineman build
中生成所有缩小的 CSS 和 JS 。/dist
我不知道如何让它将这些缩小的文件复制到不同的目录中(路径中的我的公共目录 - ../lib/app/public)。
我的 Lineman 配置文件如下所示。
我知道copy:dist
Lineman 中有一个默认任务,但不确定它是如何工作的,并且无法从http://linemanjs.com/的文档中正确理解它
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
运行复制任务的输出:
regex - 如何选择所有文件,但排除目录中的特定文件扩展名
我想复制文件夹中的所有文件,但我想在子文件夹中排除特定的文件扩展名。我怎样才能做到这一点?
这是我的代码片段:
注意:这里我想复制所有文件,但我想排除angular
子文件夹中的(.js)文件。
有什么想法吗?谢谢
更新 - 答案
基于 Raptis Dimos 所说的包含和排除顺序很重要。所以我把包含放在第一位,最后是排除。
gruntjs - 为什么 grunt-contrib-copy 用相同的名称写入我的所有文件?
我正在运行 grunt-contrib-copy 将一组图像从一个目录复制到另一个目录。所有文件都被复制,但每个副本都使用队列中第一个文件的名称写入,所以我最终只得到一个文件。
这是我的配置:
这是运行命令后我的 CLI 的详细输出:
为什么不使用原始名称写入文件?
foreach - 如何在从 forEach 内部调用的 Grunt 任务中使用动态值?
我们正在尝试使用 grunt.config.set 为动态连接的字符串运行 grunt 任务。这些 grunt.configs 在 forEach 循环中设置,并且每次在任务运行之前都会更改。
不幸的是,这不起作用,因为 grunt 只使用最后一个 grunt.config.set 并以相同的值多次运行它。
用一个简单的“复制”任务看这个例子(“复制”只是一个例子,我们也想在其他任务中使用这种动态选项):
此任务将 src/directory4 复制四次。
是否有可能构建使用动态值的那种任务?这会很好,因为唯一的其他解决方案是使用静态字符串多次复制每个任务。
谢谢!丹尼尔
gruntjs - 具有权限的 grunt.file 写入/复制
有没有办法在 grunt.file.copy(...) 期间指定文件的权限,除了在复制完成后使用“fs.chmod”?
否则,我将不得不要求整个“fs”模块,只是为了更改权限。开销会很大吗?
javascript - grunt-contrib-copy 将目录复制到另一个没有根目录的目录
我正在尝试复制这样的结构:
但是,如果没有 src 目录本身出现在 dest 目录中,我似乎无法完成此操作。IE
我的副本配置设置如下:
我已经尝试过从 dest 中删除“src”目录的 flatten 选项,但它也删除了其他目录并将每个文件放在 dest 的根级别。
我尝试将“cwd”设置为目标目录和源目录,但这似乎只是阻止了复制。
我确信必须有一个允许这样做的选项,但我还没有找到它。有人有想法么?
javascript - 如何默认跳过 Grunt 目标
我正在定义一个具有多个任务和目标的 Grunt 项目,使用 task build
,我想运行一些复制目标,然后使用 task deployment
,我也想运行copy
一些其他目标(仅将文件夹复制到特定目录以进行部署例如),我不想在build
任务中执行这个目标。
那么我怎样才能跳过这个 Grunt 目标build
这是我的例子
angularjs - Yeoman/gruntjs angularjs 和文件夹中带有 html 文件的指令
我正在yeoman
用作维护应用程序的工具。由于我有很多指令,因此我没有使用yeoman
生成指令的标准方式,因此scripts/directive/name.js
对于代码和views/template_directive.html
模板。
相反,我这样做了:
scripts/directive/my-directive
在里面我有js
andhtml
文件。
这里是截图
现在,当我serve
一切正常时,当我运行build
. 指令的js
最终在vendor.js
但 html 页面仍然指向scripts/directive/my-directive/template_directive.html
不是 dist 的一部分。
我应该(可能,如果有比欢迎更好的选择)做的是:
- 复制
html
到视图文件夹中 - 更改指令的js中的引用
或者
- 找到一种方法将
html
文件也放在 dist 的同一文件夹中(重新创建所有/directives/<directive>/<template>.html
)
问题是:
- 什么是“正确”的解决方案
- 在 gruntjs 中更改以使其工作的命令是什么。