解决 grunt-string-replace 和 grunt-contrib-uglify 冲突,压缩文件被复原(grunt-text-replace)

在使用grunt构建项目过程中发现了一个很奇葩的现象,那就是js压缩打包到public文件夹后,再执行grunt-string-replace后,原本压缩打包后的js和html等都会复原成未压缩打包的状态。
先看一下grunt-string-replace部分代码:

'string-replace': {
  dev: {
    files: {
      'public/': ["utils/*.js","*.html"]
    },
    options: {
      replacements: [
        {
          pattern: /loadRandomMathUrl/ig,
          replacement: Math.random()
        },
        {
          pattern: /config.localUrl/ig,
          replacement: "config.localUrl"
        }
      ]
    }
  }
}

经过多次修改后,发现这个问题用grunt-string-replace解决不了,所以改用grunt另一个文本替换插件:grunt-text-replace

具体配置如下:
首先先下载插件:
npm install grunt-text-replace --save-dev

gruuntFile.js修改如下:

// 替换配置
replace: {
  dev: {
    src: ["public/utils/*.js","public/*.html"], // 需要替换的文件
    overwrite: true, // 替换后的文件是否覆盖原文件
    replacements: [
      {
        from: /loadRandomMathUrl/ig,
        to: Math.random()
      },
      {
        from: /config.localUrl/ig,
        to: "config.localUrl"
      }
    ]
  }
}

// 注册替换任务
grunt.loadNpmTasks('grunt-text-replace');

// 执行dev任务
grunt.registerTask('dev', [
'build',
'replace:dev'   
]);

然后查看public文件夹,压缩文件都正常了!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值