我需要用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
(如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
但是您可以使用几个咕噜咕噜的插件,例如:https://npmjs.org/package/grunt-json-minify