6

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 ファイルは確かに適切な形式であり、最小化されていない形式でアプリケーションで実行されます。

4

2 に答える 2

11

grunt-json-minifyuser2806181の回答に示されているように)は問題なく動作しますが(ちなみにありがとうございます)、ファイルをその場で変更するだけです。答えに触発されて、もう少し高度なものを見つけました: grunt-minjson :

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    minjson: {
        build: {
            files: { 
                'target/locales/en/messages.json':
                    'resource/locales/en/messages.json'
            }
        }
    }
});
于 2013-10-01T06:59:41.203 に答える
2

UglifyJS は有効な JavaScript ではないため、純粋な JSON では機能しないと思います。

このリンクを見てください: https://github.com/mishoo/UglifyJS2/issues/156

ただし、使用できる grunt-plugins がいくつかあります。例: https://npmjs.org/package/grunt-json-minify

于 2013-09-30T13:21:29.927 に答える