Gruntfile.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. module.exports = function (grunt) {
  2. require('load-grunt-tasks')(grunt);
  3. // Вся настройка находится здесь
  4. grunt.initConfig({
  5. pkg: grunt.file.readJSON('package.json'),
  6. clean: [
  7. 'web/css'
  8. ],
  9. copy: {
  10. css: {
  11. expand: true,
  12. src: [
  13. 'assets/css/tmp/style.css',
  14. ],
  15. dest: 'web/css/',
  16. flatten: true
  17. },
  18. },
  19. less: {
  20. a: {
  21. options: {
  22. compress: false,
  23. sourcemap: 'none'
  24. },
  25. files: {
  26. 'assets/css/tmp/_styles.css': 'assets/less/style.less',
  27. }
  28. }
  29. },
  30. concat: { // что будем склеивать
  31. css:{
  32. src: [
  33. 'assets/css/tmp/_styles.css',
  34. ],
  35. dest: 'assets/css/styles.css'
  36. }
  37. },
  38. cssmin: {
  39. options: {
  40. keepSpecialComments: 0, // затрем все комментарии
  41. mergeIntoShorthands: false,
  42. roundingPrecision: -1,
  43. sourceMap: false
  44. },
  45. target: {
  46. files: {
  47. 'web/css/site.min.css': ['assets/css/styles.css'],
  48. }
  49. }
  50. },
  51. });
  52. // less
  53. grunt.loadNpmTasks('grunt-contrib-less');
  54. // concat
  55. grunt.loadNpmTasks('grunt-contrib-concat');
  56. // минификация css
  57. grunt.loadNpmTasks('grunt-contrib-cssmin');
  58. // clean
  59. grunt.loadNpmTasks('grunt-contrib-clean');
  60. // copy
  61. grunt.loadNpmTasks('grunt-contrib-copy');
  62. // Указываем, какие задачи выполняются, когда мы вводим «grunt» в терминале
  63. grunt.registerTask('default', [
  64. 'less',
  65. 'concat',
  66. 'copy',
  67. 'cssmin'
  68. ]);
  69. };