Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Grunt-Uglify通配符和版本控制_Javascript_Node.js_Gruntjs - Fatal编程技术网

Javascript Grunt-Uglify通配符和版本控制

Javascript Grunt-Uglify通配符和版本控制,javascript,node.js,gruntjs,Javascript,Node.js,Gruntjs,我已经尝试了一段时间以一种特殊的方式组合两个Grunt JS插件。 基本上,我想使用UglifyJS缩小目录中的所有JS文件。接下来,我想使用一个版本控制插件(在本例中是grunt静态版本控制)来实现缓存破坏 我的Grunfile如下所示: module.exports = function(grunt) { grunt.initConfig({ clean: ['dest/js'], uglify: { options: { report: 'min',

我已经尝试了一段时间以一种特殊的方式组合两个Grunt JS插件。 基本上,我想使用UglifyJS缩小目录中的所有JS文件。接下来,我想使用一个版本控制插件(在本例中是grunt静态版本控制)来实现缓存破坏

我的Grunfile如下所示:

module.exports = function(grunt) {
grunt.initConfig({
  clean: ['dest/js'],
  uglify: {
    options: {
      report: 'min',
      mangle: true
    },
    my_target: {
      files: [{
      expand: true,
      cwd: 'src/js',
      src: '**/*.js',
      dest: 'dest/js'
      }]
    }
  },
  cssmin: {
    options: {
    report:'min'
    },
    minify: {
        expand:true,
    cwd: 'src/css',
    src: '**/*.css',
    dest: 'dest/css',
    }
  },
  imagemin: {
    dynamic: {
      options: {
        optimizationLevel: 7
      },
      files: [{
        expand:true,
        cwd: 'src/assets',
        src: ['**/*.{png,jpg,gif}'],
        dest: 'dest/assets'
      }]
    }
  },
  htmlmin: {
    mini :{
      options: {
        removeComments: true,
        collapseWhitespace: true,
        collapseBooleanAttributes: true,
        removeAttributeQuotes: true,
        removeRedundantAttributes: true,
        removeEmptyAttributes: true,
        useShortDoctype: true
      },
      files: [{
        expand:true,
        cwd: 'src',
        src: '**/*.html',
        dest: 'dest'
      }]
    }
  },
  versioning: {               // Task
    options: {                // Task options
      cwd: ''
    },
    dist: {                   // Target
      options: {              // Target options
      },
      files: [{
        assets: '<%= uglify.my_target.files %>', 
        key: 'global',
        dest: 'dest/js',
        type: 'js',
        ext: '.js'
      }]
    }
  }
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-static-versioning');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');


grunt.registerTask('default', ['clean', 'uglify', 'cssmin', 'imagemin', 'htmlmin', 'versioning']);}

我理解发生此错误是因为dest/js不是一个文件而是一个目录,但我不知道如何告诉version正确的文件名。是否有特定的Grunt JS格式来执行此操作?

似乎有一些额外的选项被启用,从而导致上述错误。 我已经纠正了这些,并做了一些修改。 运行下面的grunt文件,看看是否可以执行而没有任何错误

module.exports = function(grunt) {
grunt.initConfig({
    clean : [ 'dest/js' ],
    uglify : {
        options : {
            report : 'min',
            mangle : true
        },
        my_target : {
            files : [ {
                src : 'src/js/*.js',
                dest : 'dest/js/main.min.js'
            } ]
        }
    },
    cssmin : {
        options : {
            report : 'min'
        },
        minify : {
            expand : true,
            cwd : 'src/css',
            src : '**/*.css',
            dest : 'dest/css',
        }
    },
    imagemin : {
        dynamic : {
            options : {
                optimizationLevel : 7
            },
            files : [ {
                expand : true,
                cwd : 'src/assets',
                src : [ '**/*.{png,jpg,gif}' ],
                dest : 'dest/assets'
            } ]
        }
    },
    htmlmin : {
        mini : {
            options : {
                removeComments : true,
                collapseWhitespace : true,
                collapseBooleanAttributes : true,
                removeAttributeQuotes : true,
                removeRedundantAttributes : true,
                removeEmptyAttributes : true,
                useShortDoctype : true
            },
            files : [ {
                expand : true,
                cwd : 'src',
                src : '**/*.html',
                dest : 'dest'
            } ]
        }
    },
    versioning : { // Task
        options : { // Task options
            cwd : 'public',
            outputConfigDir : 'public/config'
        },
        dist : { // Target
            options : { // Target options
            },
            files : [ {
                assets : '<%= uglify.my_target.files %>',
                key : 'global',
                dest : 'dest/js',
                type : 'js',
                ext : '.js'
            } ]
        }
    }
});

grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-static-versioning');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');

grunt.registerTask('default', [ 'clean', 'uglify', 'cssmin', 'imagemin',
        'htmlmin', 'versioning' ]);
}
module.exports=函数(grunt){
grunt.initConfig({
清理:['dest/js'],
丑陋的:{
选项:{
报告:‘min’,
芒果:是的
},
我的目标:{
档案:[{
src:'src/js/*.js',
dest:'dest/js/main.min.js'
} ]
}
},
cssmin:{
选项:{
报告:“min”
},
缩小:{
是的,
cwd:'src/css',
src:“***.css”,
dest:'dest/css',
}
},
imagemin:{
动态:{
选项:{
优化级别:7
},
档案:[{
是的,
cwd:“src/资产”,
src:['***.{png,jpg,gif}'],
目的地:“目的地/资产”
} ]
}
},
htmlmin:{
迷你:{
选项:{
removeComments:对,
拼贴空白:对,
collapseBooleanAttributes:没错,
RemoveAttribute属性:对,
删除和声明:是的,
RemovemptyAttributes:没错,
useShortDoctype:true
},
档案:[{
是的,
cwd:‘src’,
src:“***.html”,
目的地:“目的地”
} ]
}
},
版本控制:{//任务
选项:{//任务选项
cwd:‘公众’,
outputConfigDir:'public/config'
},
距离:{//Target
选项:{//目标选项
},
档案:[{
资产:'',
关键词:“全球”,
dest:'dest/js',
键入:“js”,
分机:'.js'
} ]
}
}
});
grunt.loadNpmTasks(“grunt-contrib-clean”);
loadNpmTasks('grunt-static-versioning');
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
registerTask('default',['clean','uglify','cssmin','imagemin',',
'htmlmin','versioning']);
}
module.exports = function(grunt) {
grunt.initConfig({
    clean : [ 'dest/js' ],
    uglify : {
        options : {
            report : 'min',
            mangle : true
        },
        my_target : {
            files : [ {
                src : 'src/js/*.js',
                dest : 'dest/js/main.min.js'
            } ]
        }
    },
    cssmin : {
        options : {
            report : 'min'
        },
        minify : {
            expand : true,
            cwd : 'src/css',
            src : '**/*.css',
            dest : 'dest/css',
        }
    },
    imagemin : {
        dynamic : {
            options : {
                optimizationLevel : 7
            },
            files : [ {
                expand : true,
                cwd : 'src/assets',
                src : [ '**/*.{png,jpg,gif}' ],
                dest : 'dest/assets'
            } ]
        }
    },
    htmlmin : {
        mini : {
            options : {
                removeComments : true,
                collapseWhitespace : true,
                collapseBooleanAttributes : true,
                removeAttributeQuotes : true,
                removeRedundantAttributes : true,
                removeEmptyAttributes : true,
                useShortDoctype : true
            },
            files : [ {
                expand : true,
                cwd : 'src',
                src : '**/*.html',
                dest : 'dest'
            } ]
        }
    },
    versioning : { // Task
        options : { // Task options
            cwd : 'public',
            outputConfigDir : 'public/config'
        },
        dist : { // Target
            options : { // Target options
            },
            files : [ {
                assets : '<%= uglify.my_target.files %>',
                key : 'global',
                dest : 'dest/js',
                type : 'js',
                ext : '.js'
            } ]
        }
    }
});

grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-static-versioning');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');

grunt.registerTask('default', [ 'clean', 'uglify', 'cssmin', 'imagemin',
        'htmlmin', 'versioning' ]);
}