如何用grunt来缩小JSON文本文件?

我需要使用Grunt / grunt-contrib-uglify来缩小一组JSON文件(语言文件):

grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { build: { src: 'src/main/app/resources/locales/*/*.json', dest: 'target/resources/locales/*/*.json' } } }); 

我得到的是:

 Files: src/main/app/resources/locales/en/messages.json -> target/*/*.json Minifying with UglifyJS...Reading src/main/app/resources/locales/en/messages.json...OK >> Uglifying source "src/main/app/resources/locales/en/messages.json" failed. Warning: Uglification failed. Use --force to continue. 

我开始怀疑,uglify是纯粹的JSON文件,还是仅适用于JavaScript源文件? JSON文件肯定是格式良好的,它以非最小化的forms在应用程序中运行。

grunt-json-minify minify(正如user2806181的答案中所示)工作正常(顺便说一下,谢谢),但它只修改文件。 受到这个答案的启发,我发现了一个更高级的方法: grunt-minjson :

 grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), minjson: { build: { files: { 'target/locales/en/messages.json': 'resource/locales/en/messages.json' } } } }); 

我猜UglifyJS不能在纯JSON,因为它不是有效的JavaScript。

看看这个链接: https : //github.com/mishoo/UglifyJS2/issues/156

但有几个grunt插件可以使用,例如: https : //npmjs.org/package/grunt-json-minify