在Grunt中使用uglify设置目标文件夹

时间:2016-05-31 14:33:26

标签: gruntjs uglifyjs2

使用Grunt代码和文件夹结构,如下所示,当我运行grunt uglify时,结果是输出在\js\src文件夹中创建子文件夹结构\min,其中最深的文件夹(src)将包含缩小的文件。但我希望在\min文件夹根目录中创建缩小的文件。

如果我将dest参数值设置为空:``,则会在与src文件夹相同的文件夹中创建文件。

如果我将dest参数值设置为://js/min/js/min/,则不会创建任何内容。

如何直接在min文件夹的根目录中生成缩小文件?

module.exports = function(grunt){ // 1

grunt.initConfig({
  uglify: {
    my_target: {
      files: [{
          expand: true,
          src: 'js/src/*.js',
          dest: 'js/min/',
          ext : '.min.js',
      }]
    }
  }
});

  grunt.loadNpmTasks('grunt-contrib-uglify'); //https://www.npmjs.com/package/grunt-contrib-uglify


  grunt.registerTask('default', function() { // 4
      grunt.log.writeln('Hello, from the default grunt task!'); // 5
  });

}

enter image description here

1 个答案:

答案 0 :(得分:2)

Grunt文档包含有关building the files object dynamically.

的相关部分

特别感兴趣的是“cwd”属性:

  

所有src匹配都相对于(但不包括)此路径。

这将允许我们通过将其设置为“cwd”的值来从我们的“src”值中删除不需要的路径。这意味着生成的源文件路径在添加到/ js / min文件夹时不会具有不需要的前缀(“/ js / src /”)。

我们生成的Grunt文件如下所示:

module.exports = function (grunt) {

    grunt.initConfig({
        uglify: {
            my_target: {
                files: [{
                    expand: true,
                    cwd: 'js/src/',
                    src: '*.js',
                    dest: 'js/min/',
                    ext : '.min.js',
                }]
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-uglify');

    grunt.registerTask('default', ['uglify']);

};