我如何配置grunt-string-replace来复制和替换目录树?

时间:2016-08-31 16:06:35

标签: javascript node.js grunt-string-replace

我需要替换目录树中的Text并复制到另一个文件夹。我正在使用grunt text-replace插件和Glob npm。你可以看到下一个配置:

replace: {
    replace2: {
        src: 'js/app/circo/**/*.js',
        dest: 'js/app/circo2/',
        replacements: [{
            from: 'app/payasos',              
            to: 'app/funambulistas'
            }
        ]
    }
},

此设置替换文本并将所有文件复制到 js / app / circo2 / 文件夹中,树将消失。

我尝试将目标更改为:

dest: 'js/app/circo2/**',

但是这显示了这个错误:

  

运行“replace:replace2”(替换)任务   警告:无法读取“js / app / circo /”文件(错误代码:EISDIR)。使用--force继续。

感谢。

1 个答案:

答案 0 :(得分:0)

好吧,我终于使用了两个Grunt插件:复制和替换。配置:

copy: {
    main: {
        files: [
            {expand: true,  cwd: 'js/app/circo/',src: '**', dest: 'js/app/circo2/'}
        ]
    }

},

replace: {
    replace2: {     
        src: 'js/app/circo2/**/*.js',
        overwrite:true,
        replacements: [{
            from: 'app/payasos',              
            to: 'app/funambulistas'
            }
        ]
    }
}

首先复制文件,使所有src相对于cwd。您可以看到设置here

其次,我在 js / app / circo2 / / *。js ** src中将'app / payasos'替换为'app / funambulistas'(目录和子目录中的所有js文件) circo2文件夹里面的目录)。两种配置都使用“globstar”。您可以看到有关glob here的更多信息。

这对我有用,但我确信可以使用替换它。