我已经安装了grunt任务grunt-contrib-copy。我将它嵌入到我的Gruntfile.js中,并通过grunt.loadNpmTasks('grunt-contrib-copy');加载任务。
目前,我使用以下配置来创建一个包含js文件/文件夹子集的文件夹。
copy: {
options: {
processContent: [],
processContentExclude: ['build/**', 'bin/**', '.*', '*.orig', '*.bak', '.*/**', '*.log', 'dist/**', 'test/**', 'dev/**', 'pyserver/**', 'node_modules/**', 'doc/**']
},
du: {
files: [
{src: ['.conf1', '.conf2', './config.js'], dest: 'output/toolkit/', filter: 'isFile'},
{src: ['./css/**/*', './img/**/*', './js/**/*', './release/**/*', './lib/**/*', './locale/**/*'], dest: 'output/toolkit/'},
{expand: true, cwd: './', src: ['**'], dest: 'output/'}
]
}
}这工作得很好,但每次我运行grunt copy时,它都会退出,并显示以下错误消息:
Copying Gruntfile.js -> output/Gruntfile.js
Warning: Error while processing "Gruntfile.js" file. Use --force to continue.我想在js/**/*中排除Gruntfile.js和所有*.less文件。用!(.less), !.less, !(*.less), !(./Grunfile.js), !(*Gruntfile.js)试过了..。但是什么都不起作用。已将其添加到processContentExclude数组,但也未成功。
那么,如何排除文件夹结构js/**/*中的Gruntfile.js和所有less文件呢
发布于 2013-03-05 19:23:17
找到解决方案:
不需要这些行:
files: [
{src: ['.conf1', '.conf2', './config.js'], dest: 'output/toolkit/', filter: 'isFile'},
{src: ['./css/**/*', './img/**/*', './js/**/*', './release/**/*', './lib/**/*', './locale/**/*'], dest: 'output/toolkit/'},
{expand: true, cwd: './', src: ['**'], dest: 'output/'}
]因为{expand: true, cwd: './', src: ['**'], dest: 'output/'}是一个新的复制步骤,所以会将所有文件从./复制到output。这对我来说是不必要的,因为上面的代码行已经将所需的文件复制到output/toolkit。
因此,以下两行代码可以完成此工作。不需要选择或其他任何东西。为了防止*.less文件,'!**/*.less'完成了这项工作。
files: [
{src: ['.conf1', '.conf2', 'config.js'], dest: 'output/toolkit/', filter: 'isFile'},
{src: ['css/**', 'img/**', 'js/**', 'release/**', 'lib/**', 'locale/**', '!**/*.less'], dest: 'output/toolkit/'}
]发布于 2015-02-02 20:31:19
我想排除副本中的所有.gz文件,此选项适用于所有文件夹
{
expand: true,
cwd: './build/www/',
src: [ '**', '!**/*.gz' ],
dest: './mydDest'
}所以可以尝试!**/*.less, !gruntfile.js (无括号)
发布于 2013-07-29 16:28:44
如果您有权更改为不同的Grunt任务:
还有一个https://github.com/clavery/grunt-copy-to,它有一个显式的“忽略”选项来指定要忽略的文件和目录。Github中的自述文件显示了一个包含忽略选项的示例配置。
它的工作原理与常规副本略有不同,因为它遵循修改时间。但这实际上可能是受欢迎的(在我的例子中)。
从自述文件中:
类似于grunt contrib-copy,但只复制较新的文件,并维护已复制文件的修改时间。对于创建可在以后使用依赖于文件修改时间的工具进行同步的生成目录很有用。
(我只是该项目的用户(至少到目前为止)。)
https://stackoverflow.com/questions/15199092
复制相似问题