2014-01-20 84 views
2

這可能是我效率低下的問題,而不是grunt/livereload問題。Grunt LiveReload真的很慢

這裏是我的grunfile.js我的手錶測試:

watch: { 
    images: { 
     files: ['images/**/*.{png,jpg,gif}', 'images/*.{png,jpg,gif}'], 
     tasks: ['imagemin'], 
     options: { 
      spawn: false 
     } 
    }, 
    js: { 
     files: ['js/*.js','js/**/*.js'], 
     tasks: ['jshint'], 
     options: { 
      spawn: false 
     } 
    }, 
    svgs: { 
     files: ['images/*.svg','images/**/*.svg'], 
     task: ['svgmin'], 
     options: { 
      span: false 
     } 
    }, 
    scss: { 
     files: ['sass/*.scss', 'sass/**/*.scss'], 
     tasks: ['sass','autoprefixer'], 
     sourceComments: 'normal', 
     options: { 
      nospawn: true, 
      livereload: true 
     } 
    } 
}, 

這將重新編譯我的SASS和重新加載該頁面,但它需要5-6秒即可完成CSS編譯,那麼它就是一個完整的頁面刷新,而不是隻重新加載更改的CSS文件。

所以我的問題是這樣的:

  1. 如何保持它這麼長時間來編譯SASS並刷新頁面,還是我只是被以挑剔的,這是一個繼承一部分咕嚕?

  2. 如何從重新加載整個頁面,並重新加載從我的SASS編譯更改的CSS文件?

+1

https://github.com/sindresorhus/time-grunt可以顯示哪些任務花費最多時間並幫助您優化任務。 –

回答

1

最好的解決方案是從咕嚕-的contrib - 薩斯移動到咕嚕 - 薩斯,但如果你沒有太多的時間來解決這個問題,我想,你應該將從watch部分到部署部分的'autoprefixer'任務。

scss: { 
    files: ['sass/*.scss', 'sass/**/*.scss'], 
    tasks: ['sass', 
    sourceComments: 'normal', 
    options: { 
     nospawn: true, 
     livereload: true 
    } 
} 

在我的項目這一招幫我,因爲「autoprefixer」任務運行很慢

+0

+1爲自動前綴提示 –

0

或者你可以使用一個活reloader工具,像fast-live-reload,結合紅寶石SASS編譯器。

請注意,他們提供自己的觀察者,非常快(例如,對於指南針運行:compass watch)。

聲明:我是快速重新加載的創建者。