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

标签 javascript node.js gruntjs uglifyjs

我需要使用 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'
            }
        }
    }
});

关于javascript - 如何使用 grunt 缩小 JSON 文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094343/

相关文章:

javascript - 如何将选择下拉列表附加到 HTML 数据表?

javascript - 在 AWS Lambda 中使用 Async/Await 写入 S3 存储桶

javascript - ngAnnotate - 警告 : StringMap expected string key

angularjs - Grunt 连接基本 html 标签

javascript - 在 Node.js 中导出变量的推荐方法

javascript - 无法使用 autoprefixer 使 grunt.js 任务 postcss 工作

javascript - 使用 ajax 比较两个 xml 值

javascript - 你能从一个字符串数组中创建一堆函数吗?

javascript - 在 JavaScript 中访问嵌套数组

javascript - node/express 强制浏览器使用自定义名称下载文件