2

我刚刚开始使用 grunt-init。我一切正常,除了我发现模板中的任何图像/* .png 文件在传输到目标文件夹的过程中都损坏了。

我怀疑 init.copyAndProcess 函数正在破坏它们(它们在 Gimp 中从模板文件夹而不是目标文件夹中打开)。

如何为模板中的文件子集进行复制而不是 copyAndProcess?最好使用“images/**”之类的模式来识别文件。

4

2 回答 2

1

您实际上可以使用 filesToCopy,因为您传递了一个 noprocess 哈希,告诉 grunt-init 它不应该处理的文件。

请参阅http://gruntjs.com/project-scaffolding#copying-files(grunt-init 文档)和此提交第 73 行的示例https://github.com/gruntjs/grunt-init-jquery/blob/ ecf070d7469d610441458111bc05cd543ee5bbc0/template.js

于 2013-10-04T04:45:20.360 回答
0

好吧,我更喜欢更简洁的东西,类似于 template.js 中已有的内容:

var files = init.filesToCopy( props );
init.copyAndProcess( files, props );

但这有效:

var src_path = init.srcpath( 'images/' );
var dest_path = init.destpath( ) + '/images/';

// Copy the images folder this way to prevent corrupting the files
grunt.file.recurse( src_path, function( abspath, rootdir, subdir, filename ) {
    if ( subdir == undefined ) {
        var dest = dest_path + filename;
    } else {
        var dest = dest_path + subdir + '/' + filename;
    }
    grunt.file.copy( abspath, dest );
});
于 2013-08-24T15:04:43.993 回答