0

为了缩小和混淆我的 JS 代码,我尝试使用 Grunt 的闭包编译器插件。

我对结果非常满意,但是在运行 Grunt 之后,我project.min.js.report.txt在输出目录中获得了文件。我没有找到任何对此负责的选项。

我看到的唯一解决方案是创建另一个任务来删除文件。是否有更简单的方法可以避免此文件再次出现?

这是我的 gruntfile.js 内容:

module.exports = function(grunt) {
    grunt.initConfig({
        "concat": {
            js: {
                src: [
                    "js/project.js"
                ],
                dest: "js/project.all.js"
            }
        },
        "closure-compiler": {
            frontend: {
                closurePath: "path/to/gcc_jar_directory",
                js: "js/project.all.js",
                jsOutputFile: "js/project.min.js",
                maxBuffer: 500,
                options: {
                    compilation_level: "ADVANCED_OPTIMIZATIONS",
                    language_in: "ECMASCRIPT5_STRICT",
                }
            }
        },
        watch: {
            js: {
                files: ["js/project.js"],
                tasks: ["concat:js", "closure-compiler"]
            }
        }
    });

    grunt.loadNpmTasks("grunt-contrib-concat");
    grunt.loadNpmTasks("grunt-closure-compiler");
    grunt.loadNpmTasks("grunt-contrib-watch");

    grunt.registerTask("default", ["concat:js", "closure-compiler", "watch"]);
};
4

3 回答 3

1

你不能,因为它目前是硬编码的。

于 2013-03-06T00:33:28.990 回答
1

现在可以使用noreport选项(阅读更多):

'closure-compiler': {
    frontend: {
        closurePath: '/var/www/closure/',
        js: 'js/file.js',
        jsOutputFile: 'js/dist/file.min.js',
        maxBuffer: 500,
        options: {
            compilation_level: 'SIMPLE_OPTIMIZATIONS',
            noreport: true
        }
    }
}
于 2014-01-17T04:09:49.540 回答
0

很有趣,但这只是这个Grunt 插件的问题,而不是 Google Closure Compiler。

为此创建了一个问题。

于 2013-03-06T07:59:29.563 回答