2015-01-07 13 views
5

Sto usando grunt-contrib-cssmin per minimizzare i miei file css. Penso che questo strumento (grunt-contrib-cssmin) sia solo un wrapper per clean-css. Va tutto bene tranne il fatto che questo plugin per grunt sta facendo cambiamenti nel mio css. Ho provato ad utilizzare ogni opzione che potrei trovare dal repository clean-css ma niente ha funzionato. Gentilmente aiutami questa cosa mi sta uccidendo !!perché usare grunt-contrib-cssmin sta cambiando il mio css mentre dovrebbe solo ridurre quello

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

Prima Minification:

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

Dopo Minification:

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

Ora si può vedere che la cosa 'background: none' è cambiata in 'background: 0 0' Come posso assicurarmi che non apporti alcuna modifica al mio css ad eccezione di minimizzarlo.

+0

Sembra un bug nella libreria [clean-css] (https://github.com/jakubpawlowicz/clean-css) che cssmin utilizza. – jakerella

risposta

4

Aah, dopo aver esaminato i problemi di clean-css in Github, ho trovato this one dove identifica che background:none; è "ottimizzato" su background:0 0;. Nota che è più corto di 1 carattere. Penso che questo sia abbastanza comune nelle librerie di "ugrificazione", ma dovrebbe essere separato dal puro "minification" che, IMO, dovrebbe rimuovere solo informazioni non significative come spazi bianchi.

Guardando il options for clean-css (che si può usare nel vostro config cssmin) Io non credo che ci sia un modo per disattivare questo, ho provato le shorthandCompacting e advanced opzioni senza fortuna. Sfortunatamente, sembra che tu sia bloccato con questo. Tuttavia, background:0 0; dovrebbe funzionare come background:none;.

1

Si può provare restructuring: false opzione

Problemi correlati