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

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

本文关键字:缩小 css grunt-contrib-cssmin 我的 改变 为什么      更新时间:2023-09-26

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

咕噜咕噜的文件:

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:00' 我如何确保它除了缩小它之外不会对我的 css 进行任何更改。

,在查看了 Github 中的 clean-css 问题后,我发现了这个问题,它标识了background:none;被"优化"为background:0 0;。请注意,它短了 1 个字符。我认为这在"丑陋化"库中很常见,但它应该与纯粹的"缩小"分开,IMO 应该只删除像空格这样的不重要的信息。

查看clean-css的选项(您可以在cssmin配置中使用),我认为没有办法禁用此功能,我已经尝试了shorthandCompactingadvanced选项,但没有运气。不幸的是,看起来你被这个困住了。但是,background:0 0;的操作方式应与background:none;相同。

你可以试试restructuring: false选项