grunt-contrib-cssmin 需要 10 分钟才能完成

grunt-contrib-cssmin takes 10 minutes to complete

我目前遇到一个问题,我的 g运行t-contrib-cssmin 任务需要将近 10 分钟才能完成。这个问题发生在我将 g运行t 和所有插件更新到当前版本之后。近一年前我没有更新它们。在更新之前,cssmin 任务需要大约 5 秒才能完成。

更新后 运行 时间增加的原因可能是什么?我的任务定义是:

    cssmin: {
        target: {
            options: {
                banner: '/*! app.min.css <%= grunt.template.today("dd-mm-yyyy") %> */\n',
                filename: 'app.min.' + grunt.template.today("ddmmyyyyHHMMss") + '.css'
            },
            files: {
                'app/css/<%= cssmin.target.options.filename %>': [
                    'app/lib/bower_components/angular-motion/dist/angular-motion.css',
                    'app/lib/bower_components/ng-sortable/dist/ng-sortable.min.css',
                    'app/lib/bower_components/pines-notify/pnotify.core.css',
                    'app/lib/bower_components/pines-notify/pnotify.picon.css',
                    'app/lib/bower_components/pines-notify/pnotify.buttons.css',
                    'app/lib/bower_components/pines-notify/pnotify.history.css',
                    'app/lib/bower_components/angular-bootstrap-colorpicker/css/colorpicker.css',
                    'app/lib/bower_components/ng-sortable/dist/ng-sortable.min.css',
                    'app/lib/patches/ui.dynatree.css',
                    'app/lib/bower_components/selectize/dist/css/selectize.bootstrap3.css',
                    'app/lib/bower_components/angular-ui-grid/ui-grid.css',
                    'app/lib/bower_components/angular-resizable/angular-resizable.min.css',
                    'app/css/screen.css',
                    'app/css/ie.css'
                ]
            }
        }
    },

找到问题的原因。 grunt-contrib-cssmin 在内部使用任务 clean-css。此任务有一个选项 "advanced"。也可以为 grunt-contrib-cssmin 设置此选项,将其委托给 clean-css.

如果高级选项设置为true,执行时间约为10分钟。如果设置为 false,我执行此任务的时间约为 6 秒。