You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Grunt将指定JSON文件复制到原目录并重命名为_en.json?

用Grunt-contrib-copy实现文件复制并重命名

仅使用Grunt和grunt-contrib-copy插件完全可以实现这个需求,不需要额外插件。核心是通过rename函数动态修改目标文件名,同时保留原文件的目录结构。

完整Grunt配置示例

module.exports = function(grunt) {
  grunt.initConfig({
    copy: {
      t9n_duplicate: {
        files: [
          {
            cwd: "src/app/js",
            src: ["**/t9n/*t9n.json", "**/t9n/*T9N.json"], // 匹配大小写不同的后缀文件
            expand: true,
            rename: function(dest, src) {
              // 将文件名末尾的t9n.json/T9N.json替换为t9n_en.json
              return src.replace(/(t9n|T9N)\.json$/i, '$1_en.json');
            }
          }
        ]
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-copy');
  grunt.registerTask('default', ['copy:t9n_duplicate']);
};

关键配置说明

  • cwd:指定相对路径的根目录,所有src路径都基于此目录查找。
  • src:用glob模式匹配所有t9n子目录下、以t9n.json或T9N.json结尾的文件(i修饰符忽略大小写)。
  • expand: true:开启动态文件匹配,让cwd和src的配置生效,保留原目录结构。
  • rename函数:这是实现重命名的核心,它接收源文件路径(相对于cwd),通过正则替换将文件名的t9n.json后缀替换为t9n_en.json,最终文件会被复制到原目录下。

执行grunt命令后,即可得到你想要的目录结构:每个t9n目录下会同时保留原文件和新增的_en.json后缀文件。

内容的提问来源于stack exchange,提问作者Carson Wood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:35:26