为uglify配置grunt

时间:2013-05-14 08:27:09

标签: gruntjs

我正在使用gruntfile为2个独立的模块运行uglify任务。这两个模块都配置在相同的gruntfile中:

     uglify: 
     {
        ac: {
            dist: {
                options: {
                mangle: false, // Separate target for mangled output
                report: 'min', // Reports actual minified size
                banner: '<%= banner %>'
                },
                    files: {
                        'dist/<%= pkg.name %>_ac.min.js': ['<%= concat.ac.dest %>']
                    }
                },
            mangled: {
                options: {
                mangle: true,   
                report: 'gzip', 
                banner: '<%= banner %>'
                },
                files: {
                    'dist/<%= pkg.name %>_ac.2.min.js': ['<%= concat.ac.dest %>']
                }
            }
        },

        lib: {
            files: {
                'dist/<%= pkg.name %>_lib.min.js': ['<%= concat.lib.dest %>']
            },
            mangled: {
                files: {
                    'dist/<%= pkg.name %>_lib.2.min.js': ['<%= concat.lib.dest %>']
                }
            }
        },
    } 
grunt.registerTask('ac', ['uglify:ac:dist']);

当我运行上面的grunt文件时,它运行没有任何错误,但我没有得到任何输出。我不确定我的配置方式是否正确。

2 个答案:

答案 0 :(得分:0)

好的,这是我对问题中有限信息的回答;

您设置Gruntfile.js文件的方式是在concat任务中查找您似乎没有包含的文件。如果它找不到这些文件,它就不会输出任何内容。

我的猜测是你从sample gruntfile复制了部分内容。

具体而言,此部分['<%= concat.ac.dest %>']在文档中进行了解释:

  

这告诉uglify在dist/内创建一个包含的文件   缩小JavaScript文件的结果。在这里,我使用<%= concat.dist.dest %>,因此uglify将缩小concat的文件   任务产生。

如果您没有指定或调用concat任务,则没有输出文件可以运行uglify,因此不会输出。检查concat是否使用grunt.registerTask('ac', ['concat', 'uglify:ac:dist']);进行调用并生成输出(如果您已设置了tast)或将其更改为您希望uglify的JS文件的位置。

'dist/<%= pkg.name %>_ac.min.js': ['/path/to/yourJavascriptFile.js']

答案 1 :(得分:0)

删除dist任务,只有

 ac: {
            options: {
            mangle: false, // Separate target for mangled output
            report: 'min', // Reports actual minified size
            banner: '<%= banner %>'
            },
                files: {
                    'dist/<%= pkg.name %>_ac.min.js': ['<%= concat.ac.dest %>']
                }
       },

希望concat.ac.dest拥有正确的文件名和路径。如果您需要添加更多文件,可以添加为

['src/input1.js', 'src/input2.js']

更多详情请参阅https://github.com/gruntjs/grunt-contrib-uglify

希望这可以解决您的问题。