How to grunt-uglify multiple script files while keeping folder structure

后端 未结 5 1754

I have not found a good way to grunt-uglify multiple script files spread over multiple folders while keeping the folder structure including the uglified files intact. The on

5条回答
  •  忘掉有多难
    2020-12-23 23:11

    The principle in Rafa Heringer's answer on the post you linked to looks promising, with a little twist:

    uglify: {
        min: {
            files: grunt.file.expandMapping(['path/**/*.js', 'path2/**/*.js'], 'destination/', {
                rename: function(destBase, destPath) {
                    return destBase+destPath.replace('.js', '.min.js');
                }
            })
        }
    }
    

    The only difference here is the double asterisk between the base path and the wildcard filename with its extension. That will go through all the sub-folders and - hopefully - output each find it finds in its rightful folder.

    The output would be:

    path/test.js => destination/path/test.min.js
    path/subpath1/abc.js => destination/path/subpath1/abc.min.js
    path/subpath2/yey.js => destination/path/subpath2/yey.min.js
    path2/foo.js => destination/path2/foo.min.js
    

    When it comes to doing the same with CSS (using the grunt-contrib-cssmin plugin), the approach mentioned above would still work, but you would have to combine it with the relevant plugin configurations that must be in place to output minified CSS the way you want.

    PS: Haven't tried running it myself!

提交回复
热议问题