2015-01-03 2 views
2

У меня есть куча различных css из плагинов и отдельных таблиц стилей, которые я использую, и я пытаюсь построить задачу, которая объединит и минимизирует все из них. Прямо сейчас я пытаюсь сделать это с помощью cssmin, я не уверен, правильно ли я нахожусь на правильном пути, поскольку это мой первый попыток, но вот что я пытаюсь сделать.Grunt, css min to concat и minify all css

cssmin: { 
     target: { 
     files: { 
      'css/output.css': ['css/*.css', 'css/*.min.css'] 
     }, 
     files: [{ 
      expand: true, 
      cwd: 'css', 
      src: ['css/output.css'], 
      dest: 'build/css', 
      ext: '.min.css' 
     }] 
     } 
    } 

Идея заключается в том, что она будет принимать все CSS и min.css файлы в моей папке CSS и объединить их в 1 output.css то преуменьшать, что сборка/CSS в виде файла min.css. Я не слишком уверен, что так оно и есть, но это моя первая попытка попробовать. Основная идея заключается в объединении и минимизации всего в 1 файл в нижней части моих задач (после того, как у меня есть автоматический префикс и используется uncss для разгрузки бутстрапа). Я был бы признателен за любое руководство, верно ли это с этим? Кажется, что это работает некорректно, поэтому было бы полезно получить любую помощь.

Спасибо за чтение!

+0

Вещь, которая может сломаться, - это сортировка, в которой ваши файлы css являются concat. Когда вы загружаете их с помощью '*', они сортируются по ОС или 'cssmin', а затем concat, что может и не быть тем заказом, который вы загружаете в документ. –

+0

Какие проблемы вы видите? Вы должны быть более конкретными для нас, чтобы помочь вам. – jakerella

ответ

3

Я не уверен ... но это работает для меня, и мне нужно включить задачу cssmin в мою строку кода grunt.registerTask. Он уменьшает все мои autoprefixed .css, за исключением уже измененных версий и объединяет их в одну большую таблицу стилей. Надеюсь, что это помогает ^^

cssmin: { 
    minify: { 
    files: [{ 
     expand: true, 
     cwd: 'src/styles', 
     src: ['**/*.css', '!**/*.min.css'], 
     dest: 'public/assets/styles', 
     ext: '.min.css' 
    }] 
    }, 
    options: { 
    shorthandCompacting: false, 
    roundingPrecision: -1 
    }, 
    combine: { 
    files: { 
     'public/assets/styles/style.css': ['!public/assets/styles/**/*.min.css', 'public/assets/styles/**/*.css'] 
    } 
    } 
} 
+0

Привет, Как удалить мин-файлы после их объединения? – Hector

+0

Привет. В этом случае я предлагаю использовать пакет 'grunt-clean'. – CreativeZoller

3

minify задача не является необходимым. Когда вы объединяете несколько файлов, cssmin автоматически уменьшает содержимое.

cssmin: { 
    options: { 
    shorthandCompacting: false, 
    roundingPrecision: -1 
    }, 
    combine: { 
    files: { 
     'css/output.min.css': ['css/*.css', '!css/*.min.css'] 
    } 
    } 
} 
Смежные вопросы