0

使用如下所示的 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
  });

}

在此处输入图像描述

4

1 回答 1

2

Grunt 文档有一个关于动态构建文件对象的相关部分。

特别感兴趣的是“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']);

};
于 2016-06-05T04:56:23.970 回答