Gruntfile.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. module.exports = function (grunt) {
  2. grunt.initConfig({
  3. dirs: {
  4. css: "app/css",
  5. scss: "app/scss"
  6. },
  7. watch: {
  8. options: {
  9. spawn: false
  10. },
  11. sass: {
  12. files: '<%= dirs.scss %>/**/*.scss',
  13. tasks: ['sass', 'autoprefixer', 'bsReload:css']
  14. },
  15. html: {
  16. files: 'app/*.html',
  17. tasks: ['bsReload:all']
  18. }
  19. },
  20. sass: {
  21. dev: {
  22. files: {
  23. '<%= dirs.css %>/main.css': '<%= dirs.scss %>/main.scss'
  24. }
  25. }
  26. },
  27. autoprefixer: {
  28. options: {
  29. browsers: ['last 5 versions', 'ie 8']
  30. },
  31. css: {
  32. src: '<%= dirs.css %>/main.css',
  33. dest: '<%= dirs.css %>/main.css'
  34. }
  35. },
  36. browserSync: {
  37. dev: {
  38. options: {
  39. server: "./app",
  40. background: true
  41. }
  42. }
  43. },
  44. bsReload: {
  45. css: {
  46. reload: "main.css"
  47. },
  48. all: {
  49. reload: true
  50. }
  51. }
  52. });
  53. // load npm tasks
  54. grunt.loadNpmTasks('grunt-contrib-sass');
  55. grunt.loadNpmTasks('grunt-autoprefixer');
  56. grunt.loadNpmTasks('grunt-browser-sync');
  57. grunt.loadNpmTasks('grunt-contrib-watch');
  58. // define default task
  59. grunt.registerTask('default', ['browserSync', 'watch']);
  60. };