2015-01-07 5 views
5

Używam programu contri-cssmin do minimalizowania moich plików css. Myślę, że to narzędzie (grunt-contrib-cssmin) jest tylko opakowaniem dla clean-css. Wszystko jest w porządku, z wyjątkiem faktu, że ta wtyczka gruntu dokonuje zmian w moim css. Próbowałem użyć każdej opcji, którą mogłem znaleźć z repozytorium clean-css, ale nic nie działało. Uprzejmie pomóż mi, że to mnie zabija !!dlaczego użycie polecenia contru-cssmin zmienia moje css, podczas gdy powinno tylko minimalizować to,

Grunt Plik:

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']); 
}; 

Przed minifikacji:

.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; 
} 

Po minifikacji:

.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} 

Teraz widać, że "background: none" zmienia się na "background: 0 0" Jak mogę zagwarantować, że nie wprowadza żadnych zmian w moich css, z wyjątkiem jego minięcia.

+0

wygląda na błąd w [clean-css] (https://github.com/jakubpawlowicz/clean-css) biblioteki cssmin używa. – jakerella

Odpowiedz

4

Po zapoznaniu się z problemami clean-css w Github, znalazłem this one, gdzie zidentyfikowano, że background:none; jest "zoptymalizowane" pod kątem . Pamiętaj, że jest krótszy o 1 znak. Myślę, że jest to dość powszechne w bibliotekach "uglifowania", ale powinno być oddzielone od czystej "minifikacji", która, IMO, powinna usuwać tylko nieistotne informacje, takie jak białe spacje.

Patrząc na options for clean-css (które można wykorzystać w swoim cssmin config) Nie sądzę, istnieje sposób, aby wyłączyć tę funkcję, Próbowałem shorthandCompacting i advanced opcje bez powodzenia. Niestety, wygląda na to, że utknąłeś z tym. Jednak background:0 0; powinien działać tak samo, jak background:none;.

1

Można spróbować restructuring: false opcji urządzenie

Powiązane problemy