2013-09-30 15 views
5

muszę minify zestaw plików JSON (pliki językowe) z Grunt/grunt-contrib-zeszpecić:Jak zminimalizować plik tekstowy JSON z pomrukiem?

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

Co Dostaję jest:

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. 

Zaczynam zastanawiam się, czy problem z uglify działa na czystych plikach JSON, czy jest przeznaczony tylko dla plików źródłowych JavaScript? Plik JSON jest z pewnością dobrze uformowany, działa w aplikacji w niezminializowanej formie.

Odpowiedz

10

grunt-json-minify (jak wskazano w odpowiedzi user2806181 za) działa OK (dzięki, przez sposób), ale tylko modyfikuje pliki w miejscu. Zainspirowany odpowiedzi, znalazłem taki, który jest nieco bardziej zaawansowana: grunt-minjson:

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

Inną opcją jest [grunt-jsonmin] (https://npmjs.org/package/grunt-jsonmin). –