0

我正在使用 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 文件时,它运行没有任何错误,但我没有得到任何输出。我不确定我的配置方式是否正确。

4

2 回答 2

0

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

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

我的猜测是您从示例 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']
于 2013-05-14T09:45:29.533 回答
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

希望这能解决您的问题。

于 2013-10-16T05:55:59.720 回答