繁体   English   中英

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

[英]How to minify a JSON text file with grunt?

我需要使用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文件确实很好,它以非最小化的形式在应用程序中运行。

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-plugins,例如: https//npmjs.org/package/grunt-json-minify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM