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

MaD*_*aDa 6 javascript node.js uglifyjs gruntjs

我需要使用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'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我得到的是:

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.
Run Code Online (Sandbox Code Playgroud)

我开始怀疑,uglify是否可用于纯JSON文件,还是仅用于JavaScript源文件?JSON文件确实很好,它以非最小化的形式在应用程序中运行.

MaD*_*aDa 11

grunt-json-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'
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)