这可能是我的低效设置的影响,而不是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
}
}
},
Run Code Online (Sandbox Code Playgroud)
这将重新编译我的SASS并重新加载页面,但是完成CSS编译需要5-6秒,然后它会进行整页刷新,而不是仅重新加载已更改的CSS文件.
所以我的问题是这样的:
如何防止它花费这么长时间来编译SASS并刷新页面,或者我只是在挑剔,这是grunt的继承部分?
如何重新加载整个页面,并重新加载从我的SASS编译更改的CSS文件?
检查我的其他答案:编译SCSS(Compass)的最快方法+刷新浏览器?
grunt-contrib-sass使用Ruby sass非常慢,它与grunt本身无关.
使用grunt-sass代替,它使用libsass,它是sass的快速c实现.
阅读这篇文章:http: //benfrain.com/lightning-fast-sass-compiling-with-libsass-node-sass-and-grunt-sass/