为什么使用 grunt-contrib-cssmin 会改变我的 css 而它应该只缩小它

why using grunt-contrib-cssmin is changing my css while it should only minify that

我正在使用 grunt-contrib-cssmin 来缩小我的 css 文件。我认为这个工具 (grunt-contrib-cssmin) 只是 clean-css 的包装器。一切都很好,除了这个 grunt 插件正在我的 css 中进行更改。我尝试使用我可以从 clean-css 存储库中找到的每个选项,但没有任何效果。请帮助我,这东西要了我的命!!

Grunt 文件:

module.exports = function (grunt) {
    'use strict';
    // Project configuration
    grunt.initConfig({
        // Metadata
        pkg: grunt.file.readJSON('package.json'),
        cssmin: {
            options: {
                keepSpecialComments:'1',
                processImport: false,
                roundingPrecision: -1,
                shorthandCompacting: false,
                aggressiveMerging: false,
                advanced: false,
            },
            minified_css_admin: {
                src: ['public/admin/css/style.default.css','public/admin/prettify/prettify.css','public/admin/css/bootstrap-fileupload.min.css','public/admin/css/developer.css'],
                dest: 'public/admin/css/minified-css-admin.min.css',
            },
          },
    });
    // These plugins provide necessary tasks
    grunt.loadNpmTasks('grunt-contrib-cssmin');

    // Default task
    grunt.registerTask('default', ['admin-default']);
    grunt.registerTask('admin-default', ['cssmin:minified_css_admin']);
};

缩小前:

.loginwrapper input#remember_me {
    margin: 0 !important;
    min-height: 10px;
    width: auto;
    box-shadow: 0px 0px;
    background:none;
    padding-left:0px!important;
    padding-right:5px!important;
}

缩小后:

.loginwrapper input#remember_me{margin:0!important;min-height:10px;width:auto;box-shadow:0 0;background:0 0;padding-left:0!important;padding-right:5px!important}

现在可以看到 'background:none' 变成了 'background:0 0' 我如何确保它不会对我的 css 做任何更改,除了缩小它。

啊,在查看 Github 中的 clean-css 问题后,我发现 this one 指出 background:none; 是 "optimized" 到 background:0 0;。请注意,它短了 1 个字符。我认为这在 "uglification" 库中很常见,但它应该与纯 "minification" 分开,在我看来,它应该只删除 none-重要信息,如空格。

查看 options for clean-css(您可以在 cssmin 配置中使用)我认为没有办法禁用它,我试过 shorthandCompactingadvanced 选项没有运气。不幸的是,看起来你被这个困住了。但是,background:0 0; 应该与 background:none; 相同。

您可以尝试 restructuring: false 选项