2014-01-20 87 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)。

声明:我是快速重新加载的创建者。