如何用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